[JSP] Scope
[Scope 종류]
(1) Page scope : 한 페이지에서만 지역 변수로 사용할 수 있는 데이터의 한계
(2) request scope : 요청을 받은 페이지에서만 사용할 수 있는 데이터의 한계
(3) session scope : 로그인 상태에서만 사용할 수 있는 데이터의 한계
(4) application scope : 사이트에 접속한 모든 클라이언트가 사용할 수 있는 데이터의 한계
[getParameter와 getAttribute의 차이]
getParameter : String으로 받는다.
getAttribute : Object로 받는다. 매소드도 받을 수 있다.
[first.jsp]
session.setAttribute("Attribute", "sessionTell");
- session scope에 Attribute 등록
request.setAttribute("Attribute", "requestTell");
[second.jsp]
request.getAttribute : <%= request.getAttribute("Attribute") %><br/>
- request scope의 등록된 Attribute 호출
session.getAttribute : <%= session.getAttribute("Attribute") %><br/>
pageContext.findAttribute : <%= pageContext.findAttribute("Attribute") %><br/>
- findAttribute : Page -> request -> session -> application 순으로 Attribute를 찾음
- jsp에서 사용 가능, Servlet에서 사용 불가
[request scope의 Attribute 제거]<%request.removeAttribute("Attribute"); %><br/>
- request scope의 Attribute를 제거
pageContext.findAttribute : <%= pageContext.findAttribute("Attribute") %><br/>
[session scope의 Attribute 제거]<%session.removeAttribute("Attribute"); %><br/>
pageContext.findAttribute : <%= pageContext.findAttribute("Attribute") %><br/>
[output]
request.getAttribute : requestTell
session.getAttribute : sessionTell
pageContext.findAttribute : requestTell
[request scope의 Attribute 제거]
pageContext.findAttribute : sessionTell
[session scope의 Attribute 제거]
pageContext.findAttribute : null