JinSeong 2021. 10. 6. 18:04
<%@ 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>

<%
	out.print(pageContext.getRequest() == request);
	out.print(pageContext.getResponse() == response);
%>

</body>
</html>

pageContext ๊ฐ์ฒด(javax.servlet.jsp.PageContext)

  • pageContext ๊ฐ์ฒด๋Š” JSP ๊ธฐ๋ณธ๊ฐ์ฒด๋กœ JSP ํŽ˜์ด์ง€์—์„œ ๋”ฐ๋กœ ์„ ์–ธํ•˜์ง€ ์•Š์•„๋„ ์ฐธ์กฐํ•˜์—ฌ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค.
  • pageContext๋Š” JSP ํŽ˜์ด์ง€์— ๋Œ€ํ•ด 1:1๋กœ ์—ฐ๊ฒฐ๋œ ๊ฐ์ฒด๋กœ JSP ํŽ˜์ด์ง€๋‹น ํ•˜๋‚˜์˜ pageContext ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค.
  • ๋”ฐ๋ผ์„œ ๊ฐ™์€ JSP ํŽ˜์ด์ง€ ๋‚ด์—์„œ๋Š” ์„œ๋กœ ๊ฐ’์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ฃผ์š” ๊ธฐ๋Šฅ์€ ๋‹ค๋ฅธ ๊ธฐ๋ณธ๊ฐ์ฒด๋“ค์„ ๊ตฌํ• ๋•Œ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ํŽ˜์ด์ง€ ํ๋ฆ„์„ ์ œ์–ดํ•  ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค. 
  • pageContext์˜ ๋ฉ”์†Œ๋“œ๋“ค์€ ํ”ํžˆ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋ณธ๊ฐ์ฒด๋“ค์„ ๋ฆฌํ„ดํ•œ๋‹ค.

 

์‹ค์ œ๋กœ pageContext์˜ ๋ฉ”์„œ๋“œ๋“ค์€ JSP ํŽ˜์ด์ง€๊ฐ€ ์„œ๋ธ”๋ฆฟ์œผ๋กœ ๋ณ€ํ™˜๋  ๋•Œ ๊ธฐ๋ณธ๊ฐ์ฒด๋“ค์„ ์ƒ์„ฑํ•˜๋Š”๋ฐ์— ์‚ฌ์šฉ๋œ๋‹ค. ์ฆ‰ JSP๊ฐ€ ์„œ๋ธ”๋ฆฟ์œผ๋กœ ๋ณ€ํ™˜๋˜๋Š” ๊ณผ์ •์—์„œ pageContext ๊ฐ์ฒด๋ฅผ ํ†ตํ•ด request, response, out ๋“ฑ์˜ ๊ธฐ๋ณธ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ์šฐ๋ฆฌ๋Š” JSP๋ฅผ ์ž‘์„ฑํ•  ๋•Œ ๋ณ„๋‹ค๋ฅธ ์„ ์–ธ์—†์ด ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ–ˆ๋˜ ๊ฒƒ์ด๋‹ค.

 

๋‹จ ์ด๋Ÿฌํ•œ ๊ธฐ๋ณธ๊ฐ์ฒด๋“ค์€ <%! %> ์ „์—ญ ์ „์–ธ๋ฌธ ์•ˆ์—์„œ๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š”๋ฐ ๊ทธ ์ด์œ ๋Š” ์„œ๋ธ”๋ฆฟ์œผ๋กœ ๋ณ€ํ™˜๋ ๋•Œ ๊ธฐ๋ณธ๊ฐ์ฒด๋“ค์ด _jspService() ๋ผ๋Š” ๋ฉ”์„œ๋“œ์˜ ์ง€์—ญ๋ณ€์ˆ˜๋กœ ์ƒ์„ฑ๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

 

์œ„์˜ ์ฝ”๋“œ ๋‚ด์šฉ์€ pageContext.getRequest()์™€ pageContext.getResponse()๊ฐ€ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฐ์ฒด๊ฐ€ ์‹ค์ œ๋กœ request์™€ response์˜ ๊ธฐ๋ณธ ๊ฐ์ฒด์ธ์ง€๋ฅผ ํŒ๋‹จํ•˜๋Š” ๋‚ด์šฉ์ด๋‹ค.