JSP&Servlet
JSP ๋ฌธ๋ฒ๊ณผ ์๋ช ์ฃผ๊ธฐ
vividswan
2022. 3. 7. 00:52
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()
๋ก ์ ์ธํ ์ ์๋ค.