** ๐SP ๊ธฐ๋ณธ ๋ฌธ๋ฒ ์์ ์ ๋ณต **
JSP ๋ฌธ๋ฒ์ 4๊ฐ์ง ํต์ฌ ์์ ์ ๋ฆฌ + ์ค์ ์์ + ๊ธฐ์ ๋ฉด์ ๋๋น
๐งฉ ๋ชฉ์ฐจ
- JSP ํ์ผ ๊ตฌ์กฐ๋?
- JSP ์ฃผ์ ๋ฌธ๋ฒ 4์ข (์คํฌ๋ฆฝํธ ์์)
- JSP include ์ง์์ด
- ์ค์ ์์ ๋ชจ์
- ๊ธฐ์ ๋ฉด์ ๋๋น ์ ๋ฆฌ
โ 1. JSP ํ์ผ์ ๊ธฐ๋ณธ ๊ตฌ์กฐ
<%@ page contentType="text/html;charset=UTF-8" %>
<html>
<head><title>JSP ๊ธฐ๋ณธ ๊ตฌ์กฐ</title></head>
<body>
<!-- HTML๊ณผ JSP๊ฐ ์์ฌ ์์ -->
<%
String name = "JSP";
%>
<h1>์๋
ํ์ธ์, <%= name %>!</h1>
</body>
</html>
๐ ์ฃผ์ ํน์ง
.jsp
ํ์ผ์ HTML๊ณผ Java ์ฝ๋๋ฅผ ํผํฉํด์ ์ฌ์ฉ- Java ์ฝ๋๋
<% %>
์์ ์์ฑ๋จ - HTML์ ๊ทธ๋๋ก ์ถ๋ ฅ๋๋ฉฐ, Java๋ ์๋ฒ์์ ์คํ๋จ
โ 2. JSP์ 4๋ ๊ธฐ๋ณธ ๋ฌธ๋ฒ ์์ โ๏ธ
๊ตฌ๋ถ | ๋ฌธ๋ฒ | ์ค๋ช | ์์ |
---|---|---|---|
โ Scriptlet | <% ์๋ฐ์ฝ๋ %> |
์ผ๋ฐ Java ์ฝ๋ ์ฝ์ | <% int a = 10; %> |
โก Expression | <%= ๊ฐ %> |
๊ฐ์ ์ถ๋ ฅ (์๋ out.print) | <%= name %> |
โข Declaration | <%! ๋ณ์/๋ฉ์๋ ์ ์ธ %> |
์ ์ญ ๋ณ์/๋ฉ์๋ ์ ์ | <%! int count = 0; %> |
โฃ Directive | <%@ ์ง์์ด %> |
JSP ํ์ด์ง ์์ฑ ์ ์ | <%@ page language="java" %> |
๐น โ Scriptlet (<% ์๋ฐ์ฝ๋ %>
)
- JSP ์์ ์ผ๋ฐ Java ์ฝ๋๋ฅผ ์์ฑํ ์ ์๋ ๊ณต๊ฐ
<%
int num = 5;
String msg = "Hello JSP";
%>
๐น โก Expression (<%= ๊ฐ %>
)
- ๊ฐ์ ๋ธ๋ผ์ฐ์ ์ ๋ฐ๋ก ์ถ๋ ฅ
out.print(๊ฐ)
๊ณผ ๋์ผ
<%
String name = "ํ๊ธธ๋";
%>
<p>์ด๋ฆ: <%= name %></p>
๐น โข Declaration (<%! ๋ณ์/๋ฉ์๋ %>
)
- ํด๋์ค ๋ฉค๋ฒ์ฒ๋ผ ๋์ํ๋ ์ ์ญ ๋ณ์, ๋ฉ์๋๋ฅผ ์ ์ธ
- Servlet ๋ณํ ์ ํ๋ ์์ญ์ ๋ค์ด๊ฐ
<%! int count = 0; %>
<%! public int getCount() { return ++count; } %>
<p>์ ์ ์: <%= getCount() %></p>
๐น โฃ Directive (<%@ ์ง์์ด %>
)
- JSP ํ์ด์ง์ ์์ฑ์ ์ค์
- ์ฃผ๋ก
page
,include
,taglib
์ฌ์ฉ
<%@ page contentType="text/html; charset=UTF-8" %>
โ 3. JSP include ์ง์์ด
๐ ์ ์ include (<%@ include file="..." %>
)
- ์ปดํ์ผ ์ ์ ์ฝ๋๊ฐ ๊ทธ๋๋ก ํฉ์ณ์ง (HTML ๋ณต๋ถ์ฒ๋ผ ๋์)
<%@ include file="header.jsp" %>
๐ ๋์ include (<jsp:include page="..." />
)
- ์คํ ์ค์ ํฌํจ (๋งค๋ฒ ์์ฒญ ์ฒ๋ฆฌ ์ ๋ถ๋ฌ์ด)
<jsp:include page="footer.jsp" />
๊ตฌ๋ถ | ์ ์ include | ๋์ include |
---|---|---|
์คํ ์์ | ์ปดํ์ผ ์ | ๋ฐํ์ ์ |
์ฉ๋ | ๊ณตํต ์ฝ๋ ์ฝ์ (ํค๋ ๋ฑ) | ์์ฃผ ๋ฐ๋๋ ๋ชจ๋ ์ฝ์ (๋๊ธ ๋ฑ) |
โ 4. ์ค์ ์์ ๋ชจ์
๐ก ์ ์ฒด ์์
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ include file="header.jsp" %>
<html>
<body>
<%
String user = "JSP ๊ฐ๋ฐ์";
%>
<h2>์ด์์ค์ธ์, <%= user %> ๋!</h2>
<%! int count = 0; %>
<%! public int getVisit() { return ++count; } %>
<p>์ ์ ํ์: <%= getVisit() %></p>
<jsp:include page="footer.jsp" />
</body>
</html>
โ 5. ๊ธฐ์ ๋ฉด์ ๋๋น ํต์ฌ ์ ๋ฆฌ
์ง๋ฌธ | ์์ ๋ต๋ณ |
---|---|
JSP์์ Java ์ฝ๋๋ ์ด๋ป๊ฒ ์ฝ์ ํ๋์? | Scriptlet, Expression, Declaration ์ฌ์ฉ |
Scriptlet vs Expression ์ฐจ์ด๋? | Scriptlet์ ์คํ, Expression์ ์ถ๋ ฅ์ฉ |
Directive ์ง์์ด์ ์ญํ ์? | JSP ํ์ด์ง ์์ฑ ์ค์ (charset, buffer ๋ฑ) |
include ์ง์์ด ์ข ๋ฅ์ ์ฐจ์ด? | ์ ์ include๋ ์ปดํ์ผ ์ ํฌํจ, ๋์ ์ ์คํ ์ ํฌํจ |
โ ๋ง๋ฌด๋ฆฌ ์์ฝ
<% %>
: Java ์ฝ๋ ์ฝ์<%= %>
: ์ถ๋ ฅ<%! %>
: ์ ์ญ ์ ์ธ<%@ %>
: ํ์ด์ง ์ค์ include
: ์ฌ์ฌ์ฉ ๊ตฌ์กฐ (header, footer)
๐ Notion ์์ฑ ํ
- ๐งฑ ๋ฌธ๋ฒ ์ค๋ช ์ ํ๋ก ์ ๋ฆฌ
- ๐ฏ ์์๋ code block์ผ๋ก ์ฝ์
- ๐ ๋ฉด์ ์ง๋ฌธ์ ํ์ด๋ผ์ดํธ
- โ ์์ฝ ํฌ์ธํธ ๊ฐ์กฐํด์ ํ๋์ ๋ณด์ด๊ฒ