@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 프로그래밍-최범균

+ Recent posts