๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

JSP&Servlet

JSP ๋ฌธ๋ฒ•๊ณผ ์ƒ๋ช…์ฃผ๊ธฐ

JSP์˜ ํŠน์ง•

  • JSP์˜ ์œ„์น˜ : JSP๋Š” ํ”„๋กœ์ ํŠธ ํŒŒ์ผ ์ค‘ WebContent ํŒŒ์ผ ์•„๋ž˜์— ์ƒ์„ฑ๋œ๋‹ค. (WebContent์—๋Š” HTML, JavaScript ํŒŒ์ผ ๋“ฑ๋„ ์ €์žฅํ•œ๋‹ค.)
  • Servlet์œผ๋กœ ๋ฐ”๋€Œ์–ด์„œ ๋™์ž‘ : JSP๋Š” ๊ทธ ์ž์ฒด๊ฐ€ JSP๋กœ ์‹คํ–‰๋˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ Servelt์œผ๋กœ ๋ฐ”๋€Œ์–ด์„œ ๋™์ž‘ํ•˜๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์—, Servlet๊ณผ ์ƒ๋ช…์ฃผ๊ธฐ๊ฐ€ ๋˜‘๊ฐ™๊ณ , JSP์˜ ๋ฌธ๋ฒ•์ด Servlet์—์„œ ์–ด๋–ป๊ฒŒ ๋ฐ”๋€Œ์–ด์„œ ๋™์ž‘ํ•˜๋Š”์ง€ ํŒŒ์•…ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.
  • ์‹คํ–‰์ˆœ์„œ : ํด๋ผ์ด์–ธํŠธ์—์„œ ์ตœ์ดˆ๋กœ JSP๋ฅผ ์š”์ฒญ -> Java ์ฝ”๋“œ๋กœ ๋ณ€ํ™˜ -> ์ปดํŒŒ์ผ(~.class ํŒŒ์ผ ์ƒ์„ฑ) -> ํด๋ž˜์Šค๋ฅผ ๋กœ๋”ฉํ•˜๊ณ  ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑ

JSP ์ฃผ์š” ๋ฌธ๋ฒ•

  • <%@ %> : ์ง€์‹œ์ž, ํŽ˜์ด์ง€์— ๋ฏธ๋ฆฌ ์ •์˜๋˜๋Š” ๋‚ด์šฉ์„ ์ž…๋ ฅํ•˜๋ฉฐ, ๋ณดํ†ต WAS๊ฐ€ ์ฝ์Œ (<%@ page .. %>๋Š” page ์ง€์‹œ์ž)
  • <% %> : Scriptlet๋ผ๊ณ  ํ•˜๋ฉฐ, ์‹คํ–‰์‹œํ‚ฌ ์ž๋ฐ” ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•˜๋Š” ๋ถ€๋ถ„ (<% %> ์„ ์ œ์™ธํ•˜๊ณ  ๊ทธ๋Œ€๋กœ ์ž๋ฐ” ์ฝ”๋“œ๋กœ ๋ณ€ํ•จ)
  • <%= %> : ํ‘œํ˜„์‹, Servlet์˜ out.print()(PrintWriter out = response.getWriter();) ์™€ ๋™์ผํ•˜์—ฌ ๋ณ€์ˆซ๊ฐ’์„ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ฐ”๋กœ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค.
  • <%! %> : ์„ ์–ธ์‹, ํด๋ž˜์Šค์— ๋ฉ”์„œ๋“œ๋‚˜ ํ•„๋“œ๋ฅผ ์„ ์–ธํ•  ์ˆ˜ ์žˆ์Œ
  • <%-- --%> : JSP ์ฃผ์„์ฒ˜๋ฆฌ

์ตœ์ดˆ๋กœ ๋งŒ๋“ค์–ด์ง„ JSP์˜ ์„ ์–ธ์ž ๊ตฌ์„ฑ

์ตœ์ดˆ๋กœ JSP ํŒŒ์ผ์„ ๋งŒ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ตฌ์„ฑ์œผ๋กœ ๋˜์–ด์žˆ๋‹ค.

<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
  <head>
    <meta charset="EUC-KR" />
    <title>Insert title here</title>
  </head>
  <body></body>
</html>

์—ฌ๊ธฐ์„œ HTML ์ฝ”๋“œ๊ฐ€ ์‹œ์ž‘ํ•˜๊ธฐ ์ „, ์ง€์‹œ์ž๋ฅผ ์‚ดํŽด๋ณด๋ฉด,

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

์‚ฌ์šฉ ์–ธ์–ด๋Š” ์ž๋ฐ”, contentType์€ Servlet์˜ response.setContentType()๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ, pageEncoding์€ ํ•ด๋‹น ํŽ˜์ด์ง€์˜ ์ธ์ฝ”๋”ฉ ๋ถ€๋ถ„์ด๋ผ๋Š” ์˜๋ฏธ

JSP ์ƒ๋ช…์ฃผ๊ธฐ

  • JSP๋Š” Servlet์œผ๋กœ ๋ณ€ํ™˜๋˜๊ธฐ ๋•Œ๋ฌธ์—, Servlet๊ณผ ์ƒ๋ช…์ฃผ๊ธฐ๊ฐ€ ๋™์ผํ•˜๋‹ค.(Servlet์˜ ์ƒ๋ช…์ฃผ๊ธฐ๋Š” init(), service(), destroy()๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.)
  • Scriptlet(<% ..%>) ์•ˆ์—์„œ์˜ ์ž๋ฐ” ์ฝ”๋“œ๋Š” ๋ชจ๋‘ Servelt์˜ service() ๋ฉ”์†Œ๋“œ ์•ˆ์— ํฌํ•จ๋˜์žˆ๋Š” ์ž๋ฐ” ์ฝ”๋“œ๋กœ ๋ณ€ํ™˜๋œ๋‹ค.
  • JSP๊ฐ€ Servlet์œผ๋กœ ๋ณ€ํ™˜๋  ๋•Œ init(), destroy() ์•ˆ์— ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์ž๋ฐ” ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๊ณ  ์‹ถ์„ ๋•, service() ๋ฉ”์„œ๋“œ์™€ ๋ณ„๊ฐœ๋กœ ํ•„๋“œ์™€ ๋ฉ”์„œ๋“œ๋ฅผ ์„ ์–ธํ•  ์ˆ˜ ์žˆ๋Š” ์„ ์–ธ๋ฌธ(<%! %>)์„ ์ด์šฉํ•ด ์ฃผ์–ด์•ผ ํ•œ๋‹ค.
  • init()์€ ์„ ์–ธ๋ฌธ์—์„œ _jspInit()๋กœ, destroy()๋Š” ์„ ์–ธ๋ฌธ์—์„œ _jspDestroy()๋กœ ์„ ์–ธํ•  ์ˆ˜ ์žˆ๋‹ค.

'JSP&Servlet' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Servlet ์ƒํƒœ ์ •๋ณด Scope  (0) 2022.03.08
Redirect์™€ Forward  (0) 2022.03.07
Servlet์˜ Request, Response ๊ฐ์ฒด  (0) 2022.03.07
Servlet ์ƒ๋ช…์ฃผ๊ธฐ  (0) 2022.03.06