티스토리 뷰
<%@page import="java.util.Enumeration"%>
<%@page import="java.util.Map"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>속성과 범위</title>
</head>
<body>
<h2>A페이지 입니다.</h2>
<%
String id = "test";
pageContext.setAttribute("id", id);
request.setAttribute("id", id);
session.setAttribute("id", id);
application.setAttribute("id", id);
request.getRequestDispatcher("exam8_B.jsp").forward(request,response);
%>
</body>
</html>
[exam8_A.jsp]
A페이지를 실행시 URL은 A페이지라 뜨지만 내용물은 B페이지가 뜬다
그 이유는 request.getRequestDispatcher("exam8_B.jsp").forward(request,response); 를 사용해서다
<%@page import="java.util.Enumeration"%>
<%@page import="java.util.Map"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>속성과 범위</title>
</head>
<body>
<h2>B페이지 입니다.</h2>
페이지:<%=pageContext.getAttribute("id") %><br>
요청:<%=request.getAttribute("id") %><br>
세션:<%=session.getAttribute("id") %><br>
애플리케이션:<%=application.getAttribute("id") %><br>
<a href="exam8_C.jsp">다음 C페이지로 이동</a>
</body>
</html>
[exam8_B.jsp]
<%@page import="java.util.Enumeration"%>
<%@page import="java.util.Map"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>속성과 범위</title>
</head>
<body>
<h2>C페이지 입니다.</h2>
페이지:<%=pageContext.getAttribute("id") %><br>
요청:<%=request.getAttribute("id") %><br>
세션:<%=session.getAttribute("id") %><br>
애플리케이션:<%=application.getAttribute("id") %><br>
</body>
</html>
[exam8_C.jsp]
위의 3개의 페이지를 이용해 page, request, session, application의 특징을 적어본다.
page는 담은 하나의 페이지 안에서만 속성값을 유지한다.
현재 A페이지를 실행했을때, 화면에 출력되지는 않았지만 이미 A페이지의 코드들은 실행되고
B페이지로 넘어가 B페이지의 내용물을 출력했다
그렇기때문에 page의 속성은 A페이지 내에서 끝나버렸기에 B페이지 내용에서는 null값이 나온다.
request는 한번의 요청에서만 유지된다.
그렇기 때문에 C페이지로 넘어가고 나서는 이미 request가 요청이 되었으므로 null값이 나오다.
session과 application은 속성값을 한 서버 내에서 유지된다.
하지만 session은 하나의 브라우저에서 그 속성값을 유지한다
session은 사용자가 다르면 다른 값을 갖게 된다.
(하나의 사용자도 똑같은 서버에 접근햇을때 [브라우저]마다 세션이 서로 다르게 가능하다)
주로 웹사이트의 로그인시 session을 사용한다
application은 어떤 사용자가 접근하든 그 설정값을 볼 수 있다.
'JSP' 카테고리의 다른 글
JSP_Bean, setProperty,getProperty (0) | 2021.04.21 |
---|---|
JSP_Cookie_로그인 아이디 저장 (0) | 2021.04.21 |
JSP_특정 URL로 이동하기_Redirect,RequestDispatcher.forward (0) | 2021.04.19 |
JSP_선언문,스크립틀릿,표현식 (0) | 2021.04.14 |
jsp로 간단하게 홈페이지 만들기_하나의 jsp를 <header>와<footer>를 나누기 (0) | 2021.04.13 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 정처기
- Margin
- getParameter
- request
- pageContext
- span
- Expression
- 정처산기
- Redirect
- application
- CLASS
- div
- forward
- link href
- 자격증
- id
- padding
- this.
- 합격
- dl
- 독학
- RequestDispatcher
- 실기
- Declaration
- NAV
- 정보산업처리기사
- jsp
- session
- scriptlet
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
글 보관함