JSP/이론
주석/JSP Page, Request, Session, Application
SEOKIHOUSE
2023. 6. 8. 17:33
1)HTML = <!-- -->
2)JSP = <%-- --%>
https://poew.tistory.com/274 참고사이트

1. pageContext
- 유효범위가 시작페이지에서는 되는데 종료페이지에서는 유효범위에 포함이 안된다(공유되지 않는다)
- 한 페이지에서 다른 페이지의 정보를 사용할 수 없다.
- pageContext.setAttribute("속성명","저장할 값");

2. request
https://sgcomputer.tistory.com/235 참고사이트
- 요청이 끝나기 전까지 전달(복사)한다
- request.getRequestDispatcher("보낼 경로").forward(request,response);
- forward()은 사용자 요청에 의해 컨테이너에서 생성된 request와 response를 다른 리소스(서블릿, jsp, html)로 넘겨주는 역할



<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>시작</h1>
<%
pageContext.setAttribute("name1","page훈이");
request.setAttribute("name2", "request흰둥이");
session.setAttribute("name3", "session짱구");
//리퀘스트 수명이 늘어남
//아하 이거쓰면 B의 페이지를 A에 보여줘서 주소가 안바뀐다
request.getRequestDispatcher("0608innerObject_result.jsp").forward(request,response);
%>
<%= pageContext.getAttribute("name1")%><br>
<%= request.getAttribute("name2")%><br>
<%= session.getAttribute("name3")%><br>
<a href="0608innerObject_result.jsp">결과화면보기</a>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>종료</h1>
<%
%>
pageContext에 저장된 이름값 :
<%= pageContext.getAttribute("name1")%><br>
request영역에 저장된 이름값 :
<%= request.getAttribute("name2")%><br>
session영역에 저장된 이름값 :
<%= session.getAttribute("name3")%><br>
</body>
</html>
3. session
- 세션이 유지되는 동안은 유효(사용자 단위( - 브라우저 )로 부여되는 공간)
- 세션은 하나의 브라우저(Chrome, Internet, Microsoft Edge 등) 내에서만 정보/값 공유
- 주로 로그인 정보/상태를 유지할때 사용


4. application
- 애플리케이션은 모든 유저, 모든 페이지, 페이지 요청, 세션에 공유
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>시작</h1>
<%
pageContext.setAttribute("name1","page훈이");
request.setAttribute("name2", "request흰둥이");
session.setAttribute("name3", "session짱구");
//리퀘스트 수명이 늘어남
request.getRequestDispatcher("0608innerObject_result.jsp").forward(request,response);
%>
<%= pageContext.getAttribute("name1")%><br>
<%= request.getAttribute("name2")%><br>
<%= session.getAttribute("name3")%><br>
<a href="innerObject_result.jsp">결과화면보기</a>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>종료</h1>
<%
%>
pageContext에 저장된 이름값 :
<%= pageContext.getAttribute("name1")%><br>
request영역에 저장된 이름값 :
<%= request.getAttribute("name2")%><br>
session영역에 저장된 이름값 :
<%= session.getAttribute("name3")%><br>
</body>
</html>