JSP 는 기본영역에 Session이 존재하기 때문에 session영역을 포함하나 Servlet은 Session을 따로 생성해야 세션을 사용할 수 있고,
이는 springframework 의 @HttpSession을 붙인 HttpSession 파라미터나 HttpServletRequest 파라미터를 이용한 Controller의 세션 생성과도 연관이 있다.
기본적으로 세션 정보를 사용하기 위해서는 Session은 생성해야하는데 @Controller의 요청매핑 메서드에서 세션 생성 방법들은 생성이 조금다르다.
-
@PostMapping 등 요청매핑 메서드에 @HttpSession 을 붙인 HttpSession 파라미터는 넘어오는 요청에 세션영역이 존재하지 않는다면 스프링MVC가 세션을 자동생성한다, 존재한다면 그대로 가져와 파라미터로 넘긴다.
-
@PostMapping 등 요청매핑 메서드에 HttpServletRequest 파라미터를 붙여 getSession() 메서드로 세션을 생성할 경우 getSession() 메서드는 세션이 존재하지않을 경우 세션을 생성하지만, 매개변수로 boolean값을 주어 자동생성을 방지할 수 있다.
@WebServlet("/test/session")
public class SessionTest extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
HttpSession session = req.getSession(false);
}
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException ,IOException {
}
}
'JSP & Servlet' 카테고리의 다른 글
파일업로드. Multipart (0) | 2020.07.31 |
---|---|
<c:out> 태그로 뿌린 내용을 작성 시 그대로 가져오기. (0) | 2020.07.30 |
Properties 파일을 이용한 FrontController 구현 (0) | 2020.07.24 |
커스텀태그에서의 복잡한 Attribute 사용. (0) | 2020.07.20 |
커스텀태그의 몸통 내용 처리방식 (0) | 2020.07.20 |