๐ JSP์ ์๊ฐ ๋ฐ ๊ธฐ๋ณธ ๊ตฌ์กฐ
JSP๋ Java ์ธ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ์น ํ๋ก๊ทธ๋๋ฐ ๊ธฐ์ ์ค ํ๋๋ก, ๋์ ์ธ ์น ํ์ด์ง๋ฅผ ๊ฐ๋ฐํ๋ ๋ฐ ์ฌ์ฉ๋๋ค. JSP๋ HTML ์ฝ๋ ์์ Java ์ฝ๋๋ฅผ ์ฝ์ ํ์ฌ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ ํจ๊ณผ์ ์ผ๋ก ๊ตฌ์ถํ ์ ์๋๋ก ๋์์ค๋ค.
๋๋ ํฐ๋ธ ํ๊ทธ(Directive Tag): JSP ํ์ด์ง์ ์์ฑ์ ์ ์ํ๋ ๋ฐ ์ฌ์ฉ๋๋ค. ์ฃผ๋ก ํ์ด์ง์ ์ธ์ด, ์ฝํ ์ธ ํ์ , ์ธ์ ์ ์ง ์ฌ๋ถ ๋ฑ์ ์ค์ ํ๋ค.
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
์ ์ธ๋ฌธ(Declaration): ๋ณ์๋ ๋ฉ์๋๋ฅผ ์ ์ธํ๋ ๋ถ๋ถ์ผ๋ก, JSP ํ์ด์ง์ ํด๋์ค์ ๋ฉค๋ฒ๋ก ์ถ๊ฐ๋๋ค.
<%!
int num = 10;
void myMethod() {
// ์ฝ๋ ์์ฑ
}
%>
์คํฌ๋ฆฝํธ๋ฆฟ(Scriptlet): Java ์ฝ๋๋ฅผ ์์ฑํ๋ ๋ถ๋ถ์ผ๋ก, ๋์ ์ธ ์ฒ๋ฆฌ๋ฅผ ์ํด ์ฌ์ฉ๋๋ค.
<%
String name = "John";
out.println("Hello, " + name);
%>
ํํ ์ธ์ด(Expression Language, EL): JSP ํ์ด์ง์์ ๋ฐ์ดํฐ๋ฅผ ์ถ๋ ฅํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๊ฐ๋จํ ํํ์ ์ธ์ด์ด๋ค.
<p>Name: ${name}</p>
์ฃผ์(Comment): ์ฃผ์์ HTML ์ฃผ์๊ณผ Java ์ฃผ์์ ๋ชจ๋ ์ฌ์ฉํ ์ ์๋ค.
<%-- HTML ์ฃผ์ --%>
<% // Java ์ฃผ์ %>
์ก์ ํ๊ทธ(Action Tag): JSP ํ์ด์ง์์ ํน์ ๊ธฐ๋ฅ์ ์ํํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ํ๊ทธ๋ก, ์๋ฅผ ๋ค์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๋, ์ ์ด ๊ตฌ๋ฌธ, ์ธ์ ๊ด๋ฆฌ ๋ฑ์ ์ฒ๋ฆฌํ ๋ ํ์ฉ๋๋ค.
<jsp:include page="header.jsp" />
๋๊ธ