pageContext

Mia Lee·2021년 12월 17일
0

JSP

목록 보기
9/22
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
// 자바코드를 사용하여 pageContextTest2.jsp 페이지로 이동(= 포워딩)
// response.sendRedirect("pageContextTest2.jsp");
// => pageContextTest2.jsp 페이지로 새로운 요청이 발생하며
//    이동 시 주소 표시줄의 주소가 pageContextTest2.jsp 로 변경됨
// => 이처럼, 새로운 주소로 요청이 발생하여 주소표시줄의 주소가 변경되는 이동(포워딩) 방식을 
//    "Redirect 방식"의 포워딩이라고 한다!
// => 포워딩 결과 주소 : http://localhost:8080/StudyJSP/jsp3/pageContextTest2.jsp

// 또 다른 내장 객체인 pageContext 객체의 forward() 메서드를 호출하여
// pageContextTest2.jsp 페이지로 이동(= 포워딩)
pageContext.forward("pageContextTest2.jsp");
// => pageContextTest1.jsp 페이지에서 pageContextTest2.jsp 페이지로 포워딩 요청 발생 시
//    주소 표시줄의 주소가 pageContextTest2.jsp 로 변경되지 않고
//    기존의 주소인 pageContextTest1.jsp 주소가 그대로 유지됨
// => 이처럼, 새로운 주소로 요청 시 기존 주소가 그대로 유지되는(변경되지 않는) 이동(포워딩) 방식을
//    "Dispatcher 방식"의 포워딩이라고 한다!
// => 포워딩 결과 주소 : http://localhost:8080/StudyJSP/jsp3/pageContextTest1.jsp

// 위의 두 가지(response.sendRedirect() 와 pageContext.forward()) 이동 방식 모두
// 제어권이 이동할 페이지로 넘어가므로 해당 코드 이후의 코드들은 실행되지 않는다!
%>    
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<!-- 위쪽의 포워딩 코드로 인해 실행되지 못하는 태그들 -->
	<h1>pageContextTest1.jsp</h1>
	<script type="text/javascript">
		alert("확인");
	</script>
</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>pageContextTest2.jsp</h1>
	<h1>include() 메서드 호출 전</h1>
	<hr>
	<%
	// pageContext 객체의 include() 메서드를 호출하여 현재 페이지에 포함시킬 페이지 지정
	// => pageContextTest3.jsp 페이지를 현재 페이지에 포함하여 내용을 표시
	pageContext.include("pageContextTest3.jsp");
	%>
	<hr>
	<%
	pageContext.include("pageContextTest3-2.jsp");
	%>
	<hr>
	<h1>include() 메서드 호출 후</h1>
</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>pageContext 의 include() 메서드로 포함된 페이지입니다.</h1>
</body>
</html>


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!-- 
이 파일의 내용은 pageContext2.jsp 페이지에 포함될 페이지이므로 
<html><head><body> 태그 등이 존재하지 않아도 상관없다! 
=> 즉, 실제 표시될 내용만 존재해도 무관
-->
<h3>이 페이지도 include() 메서드에 의해 포함된 페이지입니다.</h3>










0개의 댓글