본문 바로가기
JSP

[WEB]page, request, session, application scope

by 코딩로그 2022. 9. 22.

1. Scope 

- page < request < session < application 순서대로 범위가 넓어진다.

  • page 영역 : 페이지 내에서만 존재한다.
  • request 영역 : 하나의 요청이 끝날 때까지 존재한다
  • session 영역 : 브라우저를 닫는 등 세션이 종료될 때까지 존재한다.
  • application 영역 : 애플리케이션이 종료될 때까지 존재한다.

 

 

2. JSP에서 저장 공간 접근 : 내장 객체 활용

  • pageContext 내장 객체
    • 하나의 JSP 페이지에서 공유
    • 커스텀 태그에서 새로운 변수를 추가할 때 사용한다
  • request 내장 객체
    • 한 번의 요청을 처리하는데 필요한 모든 jsp 파일에서 공유하도록 다른 jsp 파일에 정보를 공유한다.
  • session 내장 객체
    • 하나의 사용자 session이 유지되는 동안에 공유할 정보의 저장
  • application 내장 객체
    • 하나의 application에서 공유할 정보 저장

 

 


 

3. 세션 예시

 

쿠키는 브라우저를 닫아도 유지되며, 세션은 브라우저를 닫으면 종료된다.

따라서, 게시판 페이지에서 사용자가 로그인 후 상단에 사용자의 이름을 화면에 띄우는 경우에 세션을 사용한다.

또한, 로그아웃 후에는 세션을 삭제하기 위해서 session.invalidate();을 사용한다.

 

//로그인하는 경우
HttpSession session = request.getSession();
session.setAttribute("userinfo", dto);

 

//로그아웃 하는 경우
HttpSession session = request.getSession();
session.invalidate();

 

아래 코드와 같이 JAVA에서 설정한 세션에 접근할 수 있다.

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
    <div class="row justify-content-center">
	  <div class="col-lg-8 col-md-10 col-sm-12 m-3 text-end">
		<strong>${userinfo.userName}</strong> (${userinfo.userId})님 안녕하세요.
		<a href="${root}/user?act=logout">로그아웃</a><br />
	  </div>
	</div>

'JSP' 카테고리의 다른 글

JDBC  (0) 2022.09.20