SpringFramework 11. JSP - swkim0128/PARA GitHub Wiki
์๋ฐ ์๋ฒ ํ์ด์ง(JavaServer Page, JSP)๋ HTML๋ด์ ์๋ฐ ์ฝ๋๋ฅผ ์ฌ์ ํ์ฌ ์น ์๋ฒ์์ ๋์ ์ผ๋ก ์น ํ์ด์ง๋ฅผ ์์ฑํ์ฌ ์น ๋ธ๋ผ์ฐ์ ์ ๋๋ ค์ฃผ๋ ์ธ์ด์ด๋ค. Java EE ์คํ ์ค ์ผ๋ถ๋ก ์น ์ดํ๋ฆฌ์ผ์ด์ ์๋ฒ์์ ๋์ํ๋ค.
์๋ฐ ์๋ฒํ์ด์ง๋ ์คํ ์์๋ ์๋ฐ ์๋ธ๋ฆฟ์ผ๋ก ๋ณํ๋ ํ ์คํ๋๋ฏ๋ก ์๋ธ๋ฆฟ๊ณผ ๊ฑฐ์ ์ ์ฌํ๋ค๊ณ ๋ณผ ์ ์๋ค. ํ์ง๋ง, ์๋ธ๋ฆฟ๊ณผ๋ ๋ฌ๋ฆฌ HTML ํ์ค์ ๋ฐ๋ผ ์์ฑ๋๋ฏ๋ก ์น ๋์์ธํ๊ธฐ ํธ๋ฆฌํ๋ค. 1999๋ ์ฌ ๋ง์ดํฌ๋ก์์คํ ์ฆ์ ์ํด ๋ฐฐํฌ๋์์ผ๋ฉฐ ์ด์ ๋น์ทํ ๊ตฌ์กฐ๋ก PHP, ASP, ASP.NET ๋ฑ์ด ์๋ค.
์ํ์น ์คํธ๋ฟ์ธ ๋ ์์นด๋ฅดํ ํ๋ก์ ํธ์ JSTL ๋ฑ์ JSP ํ๊ทธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์๋ ์๋ฐ ์ฝ๋ฉ์์ด ํ๊ทธ๋ง์ผ๋ก ๊ฐ๋ตํ ๊ธฐ์ ์ด ๊ฐ๋ฅํ๋ฏ๋ก ์์ ์ฑ์ ๋์ผ ์ ์๋ค.
JSP ์คํฌ๋ฆฝํ ์์(Scripting Element) - ์ ์ธ
๋ฉค๋ฒ๋ณ์ ์ ์ธ์ด๋ ๋ฉ์๋๋ฅผ ์ ์ธํ๋ ์์ญ.
<%! ๋ฉค๋ฒ๋ณ์์ method ์์ฑ %>
<%!
String name;
public void init() {
name = "test";
}
%>
JSP ์คํฌ๋ฆฝํ ์์(Scripting Element) - ์คํฌ๋ฆฝํธ๋ฆฟ
Client ์์ฒญ ์ ๋งค๋ฒ ํธ์ถ ์์ญ์ผ๋ก, Servlet์ผ๋ก ๋ณํ ์ service() method์ ํด๋น๋๋ ์์ญ.
request, response์ ๊ด๋ จ๋ ์ฝ๋ ๊ตฌํ
<% java code %>
<%
for (int dan = 2; dan < 10; dan++) {
out.println("<tr>");
String classname = dan % 2 == 0 ? "color1" : "color2";
for (int i = 1; i < 10; i++) {
out.println("<td class=\"" + classname + "\">" + dan +
" * " + i + " = " + dan * i + "</td>");
}
out.println("</tr>");
}
%>
JSP ์คํฌ๋ฆฝํ ์์(Scripting Element) - ํํ์
๋ฐ์ดํฐ๋ฅผ ๋ธ๋ผ์ฐ์ ์ ์ถ๋ ฅํ ๋ ์ฌ์ฉ
<%= ๋ฌธ์์ด %>
์๋
<%= ๋ฌธ์์ด %>!!!
JSP ์คํฌ๋ฆฝํ ์์(Scripting Element) - ์ฃผ์
์ฝ๋ ์์์ ๋ถ๊ฐ ์ค๋ช ์ ์์ฑ.
<%-- ์ฃผ์ ํ code --%>
<%-- JSP ์ฃผ์ --%>
<%
/*
Java ์ฃผ์
*/
%>
-
page Directive
์ปจํ ์ด๋์๊ฒ ํ์ฌ JSP ํ์ด์ง๋ฅผ ์ด๋ป๊ฒ ์ฒ๋ฆฌํ ๊ฒ์ธ๊ฐ์ ๋ํ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ค.
-
include Directive
ํน์ jsp file์ ํ์ด์ง์ ํฌํจ.
์ฌ๋ฌ jsp ํ์ด์ง์์ ๋ฐ๋ณต์ ์ผ๋ก ์ฌ์ฉ๋๋ ๋ถ๋ถ์ jsp file๋ก ๋ง๋ ํ ๋ฐ๋ณต ์์ญ์ include ์์ผ ๋ฐ๋ณต๋๋ ์ฝ๋๋ฅผ ์ค์ผ ์ ์๋ค.
-
taglib Directive
JSTL ๋๋ ์ฌ์ฉ์์ ์ํด์ ๋ง๋ ์ปค์คํ ํ๊ทธ(custom tag)๋ฅผ ์ด์ฉํ ๋ ์ฌ์ฉ๋๋ฉฐ
JSP ํ์ด์ง ๋ด์ ๋ถํ์ํ ์๋ฐ์ฝ๋๋ฅผ ์ค์ผ ์ ์๋ค.