JSP/Servlet - Scope

songmin jeon·2024년 1월 8일
0


1. Scope

1.1. 4가지 Scope 종류

 	<%
 		// JSP 내장객체 영역
 		// scope : 객체가 유지되는 영역/시간을 의미
		// 객체 바인딩 : 메모리 영역에 java 객체를 잠시 저장해뒀다가
		//			  페이지 이동 후 다시 꺼내서 사용하는 기술
 	
		// 데이터 저장 : setAttribete(name, vlaue);
 		// 데이터 꺼낼때 : getAtterubut
		
		// 1. page scope : 하나의 jsp 안에서만
 		// 					JSTL/EL을 사용할때 지역변수 선언용으로 사용함
 		//					pageContext
 		pageContext.setAttribute("page", "page scope");
 		
 		// 2. request scope : 한번의 요청 응답동안 유지되는 영역
 		//					Controller에서 View로 데이터를 전달할 때 사용
 		//					request
 		request.setAttribute("req", "requsrt scope");
 		
 		// 3. session scope : 하나의 브라우저 안에서 유지되는 영역
 		// 					사용자의 로그인 정보, 개인정보를 유지하는데 사용
 		session.setAttribute("sess", "session scope");
 		
 		// 4. application scpoe : 하나의 웹 어플리케이션 안에서 유지 되는 영역
 		//						프로젝트 Tommcat에서 실행되는 동안 내내
 		//						모든 사용자가 하나의 영역을 공유
 		//						재난문자 등 모든 사용자에게 동일한 내용을 보여줄댜
 		application.setAttribute("app", "application scope");
 	%>
 	<%
 	// scope 데이터 꺼내기
 	 String p = (String) pageContext.getAttribute("page");
 	String req = (String) request.getAttribute("req");
 	String sess = (String) session.getAttribute("sess");
 	String app = (String) application.getAttribute("app");
 	%>

	<p><%=p %></p> 	
	<p><%=req %></p> 	
	<p><%=sess %></p> 	
	<p><%=app %></p> 	
	
	<a href = "showScope.jsp">show!</a>
	
	<%

1.2. 페이지 이동방법(Forward와 Redirect)

1.2.1. Redirect 방식

response.sendRedirect("showScope.jsp");

1.2.2. Forward 방식

String url = "showScope.jsp";

// .getRequestDispatcher(url); -> 매개변수에 어디로 이동할지 url 넣어줘야함.
RequestDispatcher rd = request.getRequestDispatcher(url);

// 이동하기
rd.forward(request, response);
profile
제가 한 번 해보겠습니다.

0개의 댓글