◆ @RequestMapping 어노테이션이 적용된 메소드는 다섯 가지 타입의 파라미터를 전달받을 수 있음
● javax.servlet.http.HttpServletRequest / javax.servlet.ServletRequest
● javax.servlet.http.HttpServletResponse / javax.servlet.ServletResponse
● javax.servlet.http.HttpSession
기본적으로 스프링 MVC가 제공하는 어노테이션을 이용해 다양한 파라미터 정보에 접근할 수 있기 때문에 서블릿 API를 직접 사용하는 경우는 드물지만 아래와 같은 경우 서블릿 API를 사용하는 것이 더 편함
● HttpSession의 생성을 직접 제어해야 하는 경우
● 컨트롤러에서 쿠키를 생성해야 하는 경우
● 서블릿 API 사용을 선호하는 경우
서블릿 API 사용 예
//항상 session이 필요한게 아니고 조건에 따라 생성하거나 생성하지 않을 경우 @RequestMapping("/test.sp") public void session(HttpServletRequest req){ if(조건){ HttpSession session = req.getSession(); } ... } |
//아래와 같이 파라미터 설정할 경우 항상 세션이 생성 됨 @RequestMapping("/test.sp") public void session(HttpSession session){ //존재하면 가져오고 없으면 생성 session != null; //HttpSession 타입의 파라미터는 항상 null이 아님 } |
[참고자료] Spring 3.0 프로그래밍-최범균
'프로그램 > Spring 3.0' 카테고리의 다른 글
뷰 이름 명시적 지정 : ModelAndView, String 리턴 타입 (0) | 2012.05.15 |
---|---|
컨트롤러 메소드(@RequestMapping)의 리턴 타입 (0) | 2012.05.15 |
컨트롤러 메소드의 파라미터 타입 - @CookieValue, @RequestHeader (0) | 2012.05.15 |
컨트롤러 메소드의 파라미터 타입 - @RequestParam : 파라미터 매핑 (0) | 2012.05.15 |
컨트롤러(Controller) 메소드의 파라미터 타입 (0) | 2012.05.15 |