Notice
                              
                          
                        
                          
                          
                            Recent Posts
                            
                        
                          
                          
                            Recent Comments
                            
                        
                          
                          
                            Link
                            
                        
                    | 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 | 
| 9 | 10 | 11 | 12 | 13 | 14 | 15 | 
| 16 | 17 | 18 | 19 | 20 | 21 | 22 | 
| 23 | 24 | 25 | 26 | 27 | 28 | 29 | 
| 30 | 
                            Tags
                            
                        
                          
                          - 웹 개발 면접 질문
 - 리액트
 - e-HR
 - SBS 개발
 - 자바
 - 오라클
 - 사내시스템
 - IT시스템개발
 - 간단 프로젝트
 - 뷰 리액트
 - Vue.js
 - SBS 본사
 - 첫 React
 - react
 - MySQL
 - 뷰
 - 첫 리액트
 - URL입력
 - CompositionAPI
 - 1차면접
 - 백준알고리즘
 - 대문자
 - 뷰 리액트 비교
 - 쟈스
 - 면접
 - 경력직
 - 알고리즘
 - 트리
 - 프로젝트 후기
 - 백준
 
                            Archives
                            
                        
                          
                          - Today
 
- Total
 
리주의 프로그래밍 공부
QueryString 입력 본문
QueryString(쿼리스트링)
사용자가 웹프로그램으로 입력 데이터를 전달하는 방법 중 하나로, URL 주소 뒤에 입력 데이터를 함께 제공한다.
ex) https://querystring:1234/list?변수=값
스프링에서 Controller를 통해 QueryString 값을 얻어오는 방법
<Controller.class>의 일부분
	@RequestMapping("/customer/notice/list")
	public String list(HttpServletRequest request) throws ClassNotFoundException, SQLException {
		String p = request.getParameter("p");
		System.out.println(p);
		
		return "notice.list";
	}
Front Controller에서 함수(여기서는 list)의 매개값, 반환값 등을 확인하기 때문에, list를 호출하면서 HttpServletRequest를 확인하고 제공해준다.
따라서 http://localhost:8080/customer/notice/list?p=2 의 결과로 console 창에 2가 출력되는걸 확인할 수 있다.
추가적으로 함수에 QueryString에서 똑같은 변수명으로 매개변수를 선언해서 사용할 수 있다.
<Controller.class>의 일부분
	@RequestMapping("/customer/notice/list")
    //QueryString에서 변수명으로 p를 사용하므로 String 변수명을 p로 설정
	public String list(String p) throws ClassNotFoundException, SQLException {
		System.out.println("page:" + p);
		
		return "notice.list";
	}
   
http://localhost:8080/customer/notice/list?p=2 의 결과로 console 창에 page:2가 출력되는걸 확인할 수 있다.
만약 QueryString에서 사용된 변수명을 다른 매개변수명으로 사용하고 싶다면, @RequestParam이란 Annotation을 사용하면 된다.
@RequestParam
아무것도 안적을때에는 기본적으로 name 속성으로, 기본값을 주고싶다면 defaultValue 속성을 설정하면 된다.
다만 주의할 점은, parameter로 오는 모든 값들은 문자열이다.
	@RequestMapping("/customer/notice/list")
    // 속성을 따로 지정해주지 않았으므로 "p"는 name 속성으로 자동 매칭된다.
	public String list(@RequestParam("p") String page) throws ClassNotFoundException, SQLException {
		System.out.println("page:" + page);
		
		return "notice.list";
	}
위 내용은 유튜브 뉴렉처 님의 스프링 MVC 35, 36강 강의영상을 보고 개인적으로 작성한 글입니다.
'스프링(Spring) 공부' 카테고리의 다른 글
| POST 한글깨짐 해결 (0) | 2021.01.16 | 
|---|---|
| POST 입력 (0) | 2021.01.16 | 
| JSON 출력 (0) | 2021.01.12 | 
| RestController (0) | 2021.01.12 | 
| RequestMapping (0) | 2021.01.08 |