SpringMVC

[SpringMVC] 파라미터 처리방식 (1)

wookjae 2021. 8. 30. 00:04

HttpServletRequest ?

* Servlet/JSP에서 Client로 부터 Server로 전달된 파라미터 데이터는 HttpServeltRequest 객체에 담기게 된다. SpringMVC에서 HttpServeltRequest 객체를 활용할 수 있다.

* Client 요청(REQUEST) 발생 하였을 때, 호출되는 컨트롤러 메서드의 매개변수로 클래스 타입의 매개변수(HttpServeltRequest)를 지정할 시 객체가 자동으로 주입이 된다.

 

@PathVariable ?

* Client요청 URL주소 자체를 데이터로 활용하는 방법이다.

* Restful API Server에서 주로 사용되는 방법이다. 

* 파라미터 데이터와 주입받는 변수 자료형에 따라 자동으로 캐스팅(형변환) 처리.

* 구조:: http(s)://ip주소:포트번호/contextPath/요청주소/{데이터1}/{데이터2}...

--> PathVariable (데이터1, 데이터2)

 

@RequestParam ?

* Client로 부터 Server로 전달된 파라미터 데이터를 직접적으로 주입받아 활용.

* 파라미터 데이터와 주입받는 변수 자료형에 따라 자동으로 캐스팅(형변환) 처리.

* 파라미터 데이터의 이름과 변수의 이름이 다를경우 (value속성) 지정. 

* required = "false"를 설정하면 지정된 이름의 파라미터가 없을경우 자동으로 Null이 주입 (String 사용)

* defaultValue = "기본값" 를 설정하면 지정된 이름의 파라미터 없을경우 자동으로 "기본 값" 셋팅.


 

1. ParamTestController 선언.

 

 

 

2. ParamTestController 확인 (브라우저 URL요청 및 테스트) 

 

 

 

3. ParamTestController 수정.

 

 

 

4. ParamTestController 확인 (브라우저 URL요청 및 테스트)