Servlet / JSP에는 기본적으로 내장되어있는 객체가 존재함
총 4종류가 존재하며 각각 영향을 미칠 수 있는 범위가 다름
1. page scope : 현재 페이지
-> 현재 Servlet 또는 현재 JSP에서만 사용 가능 (1 페이지에서만 값이 유지됨)
2. request scope
-> 요청 받은 Servlet/JSP + 요청 위임함 Servlet / JSP
(2페이지 이상에서 값이 유지됨)
3. session scope
-> 사이트에 접속한 브라우저당 1개씩 생성, 같은 브라우저 끼리리 공유
브라우저 종료 또는 세션 만료 시 소멸
브라우저가 종료되지 않거나 세셔이 만료되지 않으면 계속 유지
(ex. 로그인)
- 원리 간단 설명
클라이언트가 서버접속 -> 클라이언트 접속한 브라우저 당 session 1개 생성해서 저장
->브라우저 종료시 까지 session 유지
4. application scope
-> 하나의 웹 애플리케이션 당 1개 생성
-> 서버 종료 전 까지 웹 애플리케이션 어디서든 사용 가능
(서버꺼질때까지 유지)
java 사용법.
// 2. request scope
req.setAttribute("message", "request scope에 저장된 메시지입니다.");
// 3. session scope
// 3-1 ) HttpSession 내장 객체 얻어오기
HttpSession session = req.getSession();
// 3-2 ) Session 범위로 값 세팅(request와 방법 동일)
session.setAttribute("sessionValue", "500");
session.setAttribute("message", "session scope에 저장된 메시지입니다.");
//4) application scope
// 4-1 ) SerlvetContext 내장 객체 얻어오기
ServletContext application = req.getServletContext();
//4-2) application 범위로 값 세팅(request와 방법 동일)
application.setAttribute("appValue", "곧 점심시간^-^");
application.setAttribute("message", "application scope에 저장된 메시지입니다.");
*** scope 우선 순위 ***
page>request > session > application
** 원하는 범위(scope)의 값 얻어오기(OOOScope)
${requestScope.message }
${sessionScope.message }
${ applicationScope.message }
'괴발개발 > jsp' 카테고리의 다른 글
| 서블릿 통해서 JSP로 응답하기. (0) | 2024.06.28 |
|---|---|
| vscode jsp 자동완성 (자동설정) (0) | 2024.06.26 |
| JSP (0) | 2024.06.24 |