JSP๐Ÿ˜‡

์ฝ”์ฝ”ยท2020๋…„ 8์›” 9์ผ
0

Servlet/JSP

๋ชฉ๋ก ๋ณด๊ธฐ
16/20
post-thumbnail

์•„์ด์ฝ˜ ์ œ์ž‘์ž Freepik from www.flaticon.com

JSP?

๋จผ ์˜›๋‚ . ์„œ๋ธ”๋ฆฟ ์œ„์— htmlํƒœ๊ทธ๋ฅผ ์จ์„œ ํ™”๋ฉด์œผ๋กœ ์ „๋‹ฌํ•˜๋˜ ์‹œ์ ˆ. ๋””์ž์ด๋„ˆ์™€ ๊ฐœ๋ฐœ์ž๋Š” ์„œ๋กœ ์–ผ๊ตด ๋ถ‰ํž ์ผ์ด ๋งŽ์•˜์„ ๊ฒƒ์ด๋‹ค. ์ด๋Ÿฐ ์ผ์ด ์žˆ์—ˆ๋‹ค. ๋””์ž์ด๋„ˆ๋Š” ์˜ค๋Š˜ ์ผ์ฐ ํ‡ด๊ทผํ•ด์„œ ์• ์ธ๊ณผ ์ข…๋กœ์—์„œ ๊ฐ€์žฅ ์˜ค๋ž˜๋œ ๋ ˆ์Šคํ† ๋ž‘์ธ ์•„์ง€์˜ค์— ๊ฐˆ ์ƒ๊ฐ์ด๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๊ฐœ๋ฐœ์ž๋ผ๋Š” ์ž‘์ž๊ฐ€ ์ž‘์—…์„ ๋๋‚ด์ง€ ๋ชปํ•ด์„œ ์˜ค์ „ ๋‚ด ์ž‘์—…์„ ๋ชปํ•˜๊ณ  ์žˆ๋‹ค. ์˜คํ›„ ์„ธ์‹œ๊ป˜์•ผ ํŒŒ์ผ์„ ๋ฐ›์•˜๋‹ค. ๋””์ž์ด๋„ˆ๋Š” ์„ธ ์‹œ๊ฐ„ ์•ˆ์— ์ž‘์—…์„ ๋๋‚ด๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์œผ๋กœ ์—ด์˜๋ฅผ ๋ถˆํƒœ์šด๋‹ค. ํ . ๋„ˆ๋ฌด ๊ณผํ–ˆ๋˜ ๋ชจ์–‘์ด๋‹ค. ์‹ค์ˆ˜๋กœ ์ž๋ฐ” ์ฝ”๋“œ ๋ช‡ ๊ฐœ๋ฅผ ๊ฑด๋“œ๋ ธ๋Š”๋ฐ...controll + z๋„ ์•ˆ ๋จน๋Š”๋‹ค... ๊ทธ๋ ‡๊ฒŒ ๋””์ž์ด๋„ˆ์™€ ๊ฐœ๋ฐœ์ž ์‚ฌ์ด๋Š” ๋น„ํฌ์žฅ๋„๋กœ์ฒ˜๋Ÿผ ์œ„ํƒœ๋กœ์›Œ์กŒ์„ ๊ฒƒ์ด๋ฉฐ ์–ด์ฉŒ๋ฉด ํƒ€์ด์–ด์— ํŽ‘ํฌ๊ฐ€ ๋‚ฌ์„์ง€๋„ ๋ชจ๋ฅด๋Š” ์ผ์ด๋‹ค.
์ด๋Ÿฐ ๋ฐฐ๊ฒฝ์—์„œ ๋ˆ„๊ตฐ๊ฐ€. ๊ทธ๋Ÿฌ๋‹ˆ๊นŒ ํ‰ํ™”๋ฅผ ์ง€ํ–ฅํ•˜๋˜ ์ธ๊ฐ„ ํ•˜๋‚˜๊ฐ€ JSP๋ฅผ ๋“ค๊ณ  ๋‚˜ํƒ€๋‚ฌ๋‹ค. JSP๊ฐ€ Java Server Pages๊ฐ€ ์•ฝ์ž๊ฐ€ ์•„๋‹ˆ๋ผ Java Server Peace๐Ÿ˜‡์˜ ์•ฝ์ž๋ผ๋Š” ์ „์„ค์ด ๊ทธ๋ž˜์„œ ๋„๋Š” ๊ฒƒ์ด๋‹ค. ๋ฌผ๋ก  ์ด๊ฑด ๋‚ด๊ฐ€ ์ง€์–ด๋‚ธ ์–˜๊ธฐ์ผ ๋ฟ์ด๋‹ค.

๊ทธ๋žฌ๊ฑฐ๋‚˜
๋ง๊ฑฐ๋‚˜.

์ •๋ฆฌํ•˜์ž๋ฉด,

JSP๋ž€, ํ™”๋ฉด๊ณผ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๋ถ„๋ฆฌํ•ด์„œ ๊ฐœ๋ฐœํ•˜๋ ค๋Š” ๋ชฉ์ ์œผ๋กœ ๊ณ ์•ˆ๋œ ๊ฒƒ์ด๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ํ˜‘์—…๋„ ์‰ฝ๊ณ , ๋‹น์—ฐํžˆ ์œ ์ง€๋ณด์ˆ˜๋„ ์‰ฝ๋‹ค.

JSP๋Š” ์„œ๋ฒ„์‚ฌ์ด๋“œ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋‹ค. ํ™•์žฅ์ž๋Š” .jsp์ด๋ฉฐ HTML์˜ ์™ธํ–ฅ์„ ๋‘๋ฅด๊ณ  ์žˆ์ง€๋งŒ ์ปดํŒŒ์ผ ๋˜๋ฉด์„œ ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ์— ์˜ํ•ด ์„œ๋ธ”๋ฆฟ์œผ๋กœ ๋ฐ”๋€๋‹ค. ๋งํ•˜์ž๋ฉด ๊ฒฐ๊ตญ ์ž๋ฐ” ํด๋ž˜์Šค๋ผ๋Š” ๊ฒƒ์ด๋‹ค.

JSP์˜ ๊ตฌ์„ฑ ์š”์†Œ

  • HTML , CSS , JS
  • JSP ๊ธฐ๋ณธ ํƒœ๊ทธ
  • JSP ์•ก์…˜ ํƒœ๊ทธ
  • ์‚ฌ์šฉ์ž ์ •์˜ ํƒœ๊ทธ ๋˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์ปค์Šคํ…€ ํƒœ๊ทธ

JSP๊ฐ€ ๋™์ž‘ํ•˜๋Š” ๋ฐฉ์‹

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ํ•ด์„ํ•  ์ˆ˜ ์žˆ๋Š”, ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋‹ค. ๋ฐ˜๋ฉด ์œ„์—์„œ ์„ค๋ช…ํ–ˆ๋“ฏ์ด jsp๋Š” ์„œ๋ฒ„์‚ฌ์ด๋“œ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋‹ค. ๋ธŒ๋ผ์šฐ์ €๋Š” JSP๋ฅผ ํ•ด์„ํ•  ์ˆ˜ ์—†๋‹ค. ๋”ฐ๋ผ์„œ ์‹คํ–‰ ์‹œ์— ์„œ๋ธ”๋ฆฟ(ํ†ฐ์บฃ) ์ปจํ…Œ์ด๋„ˆ๊ฐ€ .jspํŒŒ์ผ์„ ์ž๋ฐ”์ฝ”๋“œ๋กœ ์ปดํŒŒ์ผ ํ•˜๋Š” ๊ณผ์ •์„ ๊ฑฐ์นœ๋‹ค.

  1. ๋ณ€ํ™˜- ์ปจํ…Œ์ด๋„ˆ๋Š” JSPํŒŒ์ผ์„ ์ž๋ฐ” ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.

  2. ์ปดํŒŒ์ผ - ์ปจํ…Œ์ด๋„ˆ๋Š” ๋ณ€ํ™˜ํ•œ .javaํŒŒ์ผ์„ ํด๋ž˜์Šค ํŒŒ์ผ๋กœ ์ปดํŒŒ์ผ ํ•œ๋‹ค.

  3. ์‹คํ–‰ - ์ปจํ…Œ์ด๋„ˆ๋Š” .classํŒŒ์ผ์„ ์‹คํ–‰ํ•˜์—ฌ ๊ทธ ๊ฒฐ๊ณผhtml,css,js๋ฅผ ๋ธŒ๋ผ์šฐ์ €๋กœ ์ „์†กํ•œ๋‹ค.

์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ์— ์˜ํ•ด .jsp์—์„œ .java๋ณ€ํ™˜๋œ ํด๋ž˜์Šค ํŒŒ์ผ์€ ์ดํด๋ฆฝ์Šค์˜ ๊ฒฝ์šฐ '\eclipse-workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\ROOT\org\apache\jsp\test' ์ด ๊ฒฝ๋กœ์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

๊ตฌ์„ฑ ์š”์†Œ

JSP์—์„œ HTML ํƒœ๊ทธ์™€ ๊ฐ™์ด ์‚ฌ์šฉํ•˜๋Š” ์—ฌ๋Ÿฌ ์š”์†Œ๋‹ค.

  • ๋””๋ ‰ํ‹ฐ๋ธŒ ํƒœ๊ทธ
  • ์Šคํฌ๋ฆฝํŠธ ์š”์†Œ : ์ฃผ์„๋ฌธ, ์Šคํฌ๋ฆฝํŠธ๋ฆฟscriptlet, ํ‘œํ˜„์‹, ์„ ์–ธ์‹
  • ํ‘œํ˜„ ์–ธ์–ดExpression Language
  • ๋‚ด์žฅ ๊ฐ์ฒด
  • ์•ก์…˜ ํƒœ๊ทธ
  • ์ปค์Šคํ…€ ํƒœ๊ทธ

๋””๋ ‰ํ‹ฐ๋ธŒ ํƒœ๊ทธDirective Tag

๋””๋ ‰ํ‹ฐ๋ธŒ ํƒœ๊ทธ๋Š” ์ „๋ฐ˜์ ์ธ ์„ค์ • ์ •๋ณด๋ฅผ ์ €์žฅํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.
๋ช‡ ๊ฐ€์ง€ ์ข…๋ฅ˜๊ฐ€ ์žˆ๋‹ค.

  • ํŽ˜์ด์ง€ ๋””๋ ‰ํ‹ฐ๋ธŒ ํƒœ๊ทธ - ์ „๋ฐ˜์ ์ธ ์ •๋ณด๋ฅผ ์„ค์ •ํ•  ๋•Œ ์‚ฌ์šฉ
  • ์ธํด๋ฃจ๋“œ ๋””๋ ‰ํ‹ฐ๋ธŒ ํƒœ๊ทธ - ๊ณตํ†ต์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” jspํŽ˜์ด์ง€๋ฅผ ๋‹ค๋ฅธ jspํŽ˜์ด์ง€์— ์ถ”๊ฐ€ํ•  ๋•Œ ์‚ฌ์šฉ
  • ํƒœ๊ทธ๋ผ์ด๋ธŒ ๋””๋ ‰ํ‹ฐ๋ธŒ ํƒœ๊ทธ - ๊ฐœ๋ฐœ์ž๋‚˜ ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ์ œ๊ณตํ•˜๋Š” ํƒœ๊ทธ๋ฅผ ์“ธ ๋•Œ ์‚ฌ์šฉ

ํŽ˜์ด์ง€ ๋””๋ ‰ํ‹ฐ๋ธŒ ํƒœ๊ทธPage Directive Tag

ํ˜•์‹์€ <%page %> ์ด๋ ‡๊ฒŒ ์“ด๋‹ค.
jspํŒŒ์ผ์„ ๋งŒ๋“ค๋ฉด ๋งจ ์ฒซ ์ค„์— ๋‚˜์˜ค๋Š” ํƒœ๊ทธ๊ฐ€ ํŽ˜์ด์ง€ ๋””๋ ‰ํ‹ฐ๋ธŒ ํƒœ๊ทธ๋‹ค.

<%@page language="java" contentType="text/html;charset=UTF-8" 
   pageEncoding="UTF-8"%>

๊ฐ„๋‹จํ•œ ์˜ˆ์ œ.
๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •ํ–ˆ์ง€๋งŒ, ์•„๋ž˜ ๋‚˜์˜จ ๊ฐ’์€ ๋ช‡ ๊ฐ€์ง€๋ฅผ ์ œ์™ธํ•œ ๋Œ€๋ถ€๋ถ„ ๊ธฐ๋ณธ๊ฐ’์ด๋ฏ€๋กœ ๋”ฐ๋กœ ์ง€์ •ํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค.

<%@page contentType="text/html;charset=utf-8;" //์ถœ๋ ฅ ํ˜•์‹
		import="java.util.*" //๋‹ค๋ฅธ ํŒจํ‚ค์ง€์˜ ํด๋ž˜์Šค๋ฅผ ์ž„ํฌํŠธํ•  ๋•Œ ์ง€์ •ํ•ด์•ผ ํ•จ
		language="java"	//jsp์—์„œ ์‚ฌ์šฉํ•  ์–ธ์–ด
		session="true" //HttpSession๊ฐ์ฒด ์‚ฌ์šฉ ์—ฌ๋ถ€
		buffer="8kb" //๋ฒ„ํผ ํฌ๊ธฐ
		autoFlush="true" //์ถœ๋ ฅ๋˜๊ธฐ ์ „ ๋ฒ„ํผ๊ฐ€ ๋‹ค ์ฑ„์›Œ์งˆ ๊ฒฝ์šฐ ๋™์ž‘์„ ์ง€์ •
		info="(Shoppingmall.........)" //ํŽ˜์ด์ง€ ์„ค๋ช…
		isErrorPage="false" //ํ˜„์žฌ ํŽ˜์ด์ง€๊ฐ€ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๋‹ด๋‹น jsp์ธ์ง€ ์ง€์ •
		errorPage=""%>

์ธํด๋ฃจ๋“œ ๋””๋ ‰ํ‹ฐ๋ธŒ ํƒœ๊ทธInclude Directive Tag

ํ•œ ์›น์—์„œ ํŽ˜์ด์ง€ ์ด๋™์„ ํ•  ๋•Œ, ์œ—๋ถ€๋ถ„header๊ณผ ์•„๋žซ๋ถ€๋ถ„footer์€ ๋™์ผํ•˜๊ณ  ๊ฐ€์šด๋ฐ ๋ถ€๋ถ„๋งŒ ๋‹ฌ๋ผ์งˆ ๋•Œ๊ฐ€ ๋งŽ๋‹ค. ์ธํด๋ฃจ๋“œ ํƒœ๊ทธ๋ฅผ ์ด์šฉํ•ด์„œ ํ—ค๋”์™€ ํ‘ธํ„ฐ๋ฅผ ๊ณตํ†ต์ ์œผ๋กœ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•˜๊ณ  ํ•˜๋‚˜์˜ ์ฝ”๋“œ๋ฅผ ์—ฌ๋Ÿฌ jsp๊ฐ€ ๊ณต์œ ํ•ด์„œ ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ด€๋ฆฌ๋„ ํŽธํ•˜๋‹ค.

<!-- ๊ณตํ†ต๋˜๋Š” ๋ถ€๋ถ„์€ include๋กœ -->
<%include file="../header.jsp" %>

	<!-- ๊ฐ ํŽ˜์ด์ง€ ๊ณ ์œ ํ•œ ๋ถ€๋ถ„ -->

<%include file="../footer.jsp" %>

์Šคํฌ๋ฆฝํŠธ ์š”์†Œ

JSP๋Š” ์ปดํŒŒ์ผ ๋˜๋ฉด์„œ ์ž๋ฐ” ์ฝ”๋“œ๋กœ ๋ฐ”๋€๋‹ค๊ณ  ํ–ˆ๋‹ค. ์ด ๋ง์€ ์กฐ๊ฑด์ด๋‚˜ ์ƒํ™ฉ์— ๋งž๊ฒŒ htmlํƒœ๊ทธ๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋™์ ์ธ ํ™”๋ฉด ๊ตฌ์„ฑ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

์Šคํฌ๋ฆฝํŠธ ์š”์†Œ๋ž€, <% %>์•ˆ์— ์ž๋ฐ” ์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. <% %>๊ธฐํ˜ธ๋ฅผ ์Šคํฌ๋ฆฝํŠธ๋ฆฟscriptlet์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

์Šคํฌ๋ฆฝํŠธ๋ฆฟ์˜ ์ข…๋ฅ˜ ์„ธ ๊ฐ€์ง€

  • ์„ ์–ธ๋ฌธ : ๋ณ€์ˆ˜๋‚˜ ๋ฉ”์„œ๋“œ๋ฅผ ์„ ์–ธํ•  ๋•Œ ์‚ฌ์šฉ
  • ์Šคํฌ๋ฆฝํŠธ๋ฆฟ : ์ž๋ฐ” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ ์‚ฌ์šฉ
  • ํ‘œํ˜„์‹ : ๋ณ€์ˆ˜ ๊ฐ’์„ ์ถœ๋ ฅํ•  ๋•Œ ์‚ฌ์šฉ

์„ ์–ธ๋ฌธ

ํ˜•์‹์€ <%! .... %>์ด๋‹ค.

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%> 
<%!
	private String name = "์ฝ”์ฝ”";
	public String getName() {
		return this.name;
	}
%>
...
  ...
<h2>์•ˆ๋…•ํ•˜์„ธ์š” <%=getName()%>๋‹˜~</h2>
</body>
</html>

์Šคํฌ๋ฆฝํŠธ๋ฆฟ

์ดˆ๊ธฐ JSP์—์„œ ์ž๋ฐ”์ฝ”๋“œ๋ฅผ ์ด์šฉํ•ด ๋™์ ์ธ ํ™”๋ฉด์„ ๊ตฌ์„ฑํ–ˆ๋‹ค. ํ˜„์žฌ๋Š” ์ž˜ ์“ฐ์ง€ ์•Š๋Š”๋‹ค.

<% ์ฝ”๋“œ %>

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%! /* ์„ ์–ธ๋ฌธ */
	private String name = "๋ฝ€๋กœ๋กœ";
	public String getName() {
		return this.name;
	}
%>

<% /* ์Šคํฌ๋ฆฝํŠธ๋ฆฟ */
	String age = request.getParameter("age");
%>
  ...
  ...
    <h1>์ด๋ฆ„ <%=getName()%>, ๋‚˜์ด <%=age%></h1>
  </body>
</html>

ํ‘œํ˜„์‹

์œ„ ์˜ˆ์ œ์—์„œ ๋ณ€์ˆ˜ ๊ฐ’์„ ๊ฐ€์ ธ์˜ฌ ๋•Œ ์ผ๋˜ <%= ...%>๋‹ค.

<h1>์ด๋ฆ„ <%=getName()%>, ๋‚˜์ด <%=age%></h1>
<%=Integer.parseInt(age)+10 %>

ํ‘œํ˜„์‹์€ ๋‹น์—ฐํžˆ ์—ฐ์‚ฐ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.

tip. JSP ํ”„๋ฆฌ์ปดํŒŒ์ผ

์ปดํŒŒ์ผ ์‹œ JSP๋Š” ์„œ๋ธ”๋ฆฟ์œผ๋กœ ๋ณ€ํ™˜๋œ๋‹ค. ๋•Œ๋ฌธ์— ์ฒ˜์Œ ์ ‘์† ์‹œ ์†๋„๊ฐ€ ๋Š๋ฆด ์ˆ˜ ์žˆ๋‹ค. ์ด ์‹œ๊ฐ„์„ ๋‹จ์ถ•ํ•˜๊ธฐ ์œ„ํ•ด ํ†ฐ์บฃ ์ปจํ…Œ์ด๋„ˆ๋Š” JSP Precomile์„ ์ œ๊ณตํ•œ๋‹ค. ์ด๊ฒƒ์„ ์ด์šฉํ•˜๋ฉด ๋ฏธ๋ฆฌ JSPํŒŒ์ผ์„ ์ปดํŒŒ์ผํ•ด๋‘˜ ์ˆ˜ ์žˆ๋‹ค. load-on-startup๊ณผ ์œ ์‚ฌํ•˜๋‹ค.

๋‚ด์žฅ๊ฐ์ฒด

์„œ๋ธ”๋ฆฟ์œผ๋กœ ์ปดํŒŒ์ผ๋œ JSP์˜ ์ผ๋ถ€๋‹ค.


package org.apache.jsp.test;

import ...

public final class emtpy_jsp extends org.apache.jasper.runtime.HttpJspBase
    implements org.apache.jasper.runtime.JspSourceDependent,
                 org.apache.jasper.runtime.JspSourceImports {
....
...
    
    //JSPํŽ˜์ด์ง€์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ €์žฅํ•œ๋‹ค.
    final javax.servlet.jsp.PageContext pageContext;
    
    //์„ธ์…˜ ์ •๋ณด๋ฅผ ์ €์žฅํ•œ๋‹ค.
    javax.servlet.http.HttpSession session = null;
    
    //์ปจํ…์ŠคํŠธ ์ •๋ณด๋ฅผ ์ €์žฅํ•œ๋‹ค.
    final javax.servlet.ServletContext application;
    
    //JSPํŽ˜์ด์ง€์— ๋Œ€ํ•œ ์„ค์ • ์ •๋ณด๋ฅผ ์ €์žฅํ•œ๋‹ค.
    final javax.servlet.ServletConfig config;
    
    //JSPํŽ˜์ด์ง€์—์„œ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.
    javax.servlet.jsp.JspWriter out = null;
    
    //JSPํŽ˜์ด์ง€์˜ ์„œ๋ธ”๋ฆฟ ์ธ์Šคํ„ด์Šค๋ฅผ ์ €์žฅํ•œ๋‹ค.
    final java.lang.Object page = this;
    
    javax.servlet.jsp.JspWriter _jspx_out = null;
    javax.servlet.jsp.PageContext _jspx_page_context = null;


....
...
..
}

์œ„์— ์„ ์–ธ๋˜์–ด ์žˆ๋Š” ๊ฒƒ์ด JSP์˜ ๋‚ด์žฅ๊ฐ์ฒด๋‹ค. ์ด์™ธ์—๋„ HttpServletRequest๋‚˜ HttpServletResponse ๋“ฑ์ด ์žˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๋‚ด์žฅ๊ฐ์ฒด๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— HttpServletRequest ๋˜๋Š” HttpSession์„ ๋ณ„๋„์˜ ์ƒ์„ฑ ์—†์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค. ๋‚ด์žฅํ•˜์ง€ ์•Š์€ ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๊ทธ๋ƒฅ importํ•˜๊ณ  ์“ฐ๋ฉด ๋œ๋‹ค.

๋‚ด์žฅ ๊ฐ์ฒด์˜ ์Šค์ฝ”ํ”„

๋‚ด์žฅ ๊ฐ์ฒด์„œ๋ธ”๋ฆฟscope
pagethisํ•œ ๋ฒˆ์˜ ์š”์ฒญ์— ๋Œ€ํ•ด ํ•˜๋‚˜์˜ JSPํŽ˜์ด์ง€๋ฅผ ๊ณต์œ ํ•œ๋‹ค
requestHttpServletRequestํ•œ๋ฒˆ์˜ ์š”์ฒญ์— ๋Œ€ํ•ด ๊ฐ™์€ ์š”์ฒญ์„ ๊ณต์œ ํ•˜๋Š” JSP๋ฅผ ๊ณต์œ ํ•œ๋‹ค
sessionHttpSession๊ฐ™์€ ๋ธŒ๋ผ์šฐ์ €์—์„œ ๊ณต์œ ํ•œ๋‹ค.
applicationServletContext๊ฐ™์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๊ณต์œ ํ•œ๋‹ค.

์„œ๋ธ”๋ฆฟ ์Šค์ฝ”ํ”„์™€ ๋ณ„๋ฐ˜ ๋‹ค๋ฅด์ง€ ์•Š๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€