Step03_Scope (request, response, session 정의 및 메소드 정리)
jsp에서 제공하는 로컬변수 중 request(HttpServletRequest), session(HttpSession)의 메소드들에 대하여 정리해보자. request와 session의 혼동에 유의하자.
- request (HttpServletRequest)
웹 브라우저의 요청정보를 서블릿에 전달하기 위한 목적으로 사용된다.
참고 : 2022.08.19 - [Servlet&JSP] - Step02_DB (폼)
.setCharacterEncoding()
요청 인코딩 설정한다.
.getParameter()
입력된 파라미터를 가져온다.
.getParameterValues()
입력된 다수의 파라미터들을 가져온다.
참고 : Step03_Scope
.setAttribute()
로직의 수행결과 데이터(model) 을 HttpServletRequest 객체에 속성으로 가져온다.
.getAttribute()
해당 키값에 .setAttribute()로 담긴 정보를 가져온다.
.getRequestDispatcher()
보통 forward를 같이 사용해서 지정된 jsp 페이지로 응답을 위임한다.
.getSession()
session 객체를 가져온다.
- response (HttpServletResponse)
서블릿의 응답을 웹브라우저에 전달하기 위한 목적으로 사용된다.
.setCharacterEncoding()
응답 인코딩 설정
.setContentType()
응답 컨텐츠 설정
.getWriter()
문자열을 응답할때 사용
- session (HttpSession)
HttpSession은 유저의 상태값을 서버측에 저장하여 관리한다. 매번 브라우저에서 서버를 호출할 때 가지고 다니기 때문에 필요한 데이터를 보관하고 사용할 수 있다. cookie에 비해 보안상 좋고 크기, 갯수에 제한이 없지만 서버에 부담을 줄 수 있다.
.setAttribute()
setAttribute(키, 값) 형식의 문법으로 사용하고 키에 세션 속성명을 지정하여 속성값으로 value를 할당한다.
.getAttribute()
getAttribute(키) 형식으로 키에 입력한 속성명의 속성값을 Object 타입으로 리턴한다. 해당되는 속성명이 없을 경우 nul 값을 리턴한다.
.removeAttribute()
removeAttribute(키) 형식의 문법으로 키에 지정된 속성명의 속성을 제거한다.
.invalidate()
현재 생성되어 있는 세션을 무효화 시키고 저장 공간을 날린다.
.setMaxInActiveInterval()
초단위로 세션을 유지해주고 다시 요청을 해오지 않으면 자동으로 삭제되도록 설정한다.
HttpServletRequest 객체의 getSession 메소드를 사용하여 session 객체를 간접적으로 사용할 수 있다.