pageContext
pageContext.setAttribute("name", "pageContext data"); // 키와 값
pageContext가 가지고 있는 setAttribute로 값을 설정
현재의 페이지값만 가질 수 있다. (외부로 전달 불가능)
request
request.setAttribute("name", "request data");
request가 가지고 있는 setAttribute로 값을 설정
RequestDispatcher rd = request.getRequestDispatcher("07_secondPage.jsp");
rd.forward(request, response);
** request는 RequestDispatcher를 통하여 다른 JSP 파일에게 값을 전달할 수 있다.
session
session.setAttribute("name", "session data");
session이 가지고 있는 setAttribute로 값을 설정
어플리케이션 내의 내부 임시 저장소인 session 영역(어플리케이션이 구동중일때만 사용되는) : 다른 파일이 언제든지 접근해서 사용 가능.
appaliction
application.setAttribute("name", "application data");
appaliction이 가지고 있는 setAttribute로 값을 설정
어플리케이션 내의 임시 저장소 : session과 비슷한데 저장소의 영역이 더 크다.
** 각각의 저장소가 다르기 때문에 같은 이름 name이라는 키값을 사용할 수 있는것!!
현재 페이지에서 값을 설정했기 때문에 pageContext값이 정상적으로 나왔다.
값들을 외부 페이지인 second.jsp에서 가져와보자
값을 꺼내기 위해 각 클래스가 가지고 있는 getAttribute를 통해 값을 꺼내온다.
설정을 name이라는 키명으로 설정 했으므로 꺼내올 값은 name에 담긴 값
secondPage에서 pageContext의 값을 설정해준것이 아니기 때문에 외부 페이지에서는 Null값으로 출력되었다
request는 forward를 통하여 값을 전달 했으니까 정상 출력
나머지 session과 application은 외부 파일에서 접근 가능 하므로 정상 출력
HTML문서에서 값을 전달하기 위해서는 파라미터 값이 필요. 파라미터 값으로 JSP파일로 값을 보내줬다.
JSP파일 내에서도 각 저장소마다 사용할 수 있는 범위가 다르다.
pageContex 는 현재의 페이지에서만 값을 가질 수 있고 request는 포워딩을 통하여 값을 전달해 줄 수 있으며
나머지는 외부에서 쉽게 접근 가능하여 사용할 수 있다.
'개발노트 > JSP_Servlet' 카테고리의 다른 글
[JSP] Action Tag (0) | 2021.04.22 |
---|---|
[JSP] JSP(JavaServerPages) (0) | 2021.04.21 |
[JSP] application의 주요 메소드 (0) | 2021.04.21 |
[JSP] 화면 이동 Dispatcher방식과 Redirect 방식 (0) | 2021.04.20 |
[JSP] request 메소드 (0) | 2021.04.20 |