2.1 JSP ์ง์์ด
JSP ํ์ผ์ด ์ผ๋ฐ ์๋ธ๋ฆฟ์ผ๋ก ๋ณํ๋๋ ๊ฒ์ ํ์ธํ์ผ๋ฏ๋ก ์ ์์ ์ธ Java ์ฝ๋๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด Java ์ฝ๋์์ ๋ค์ํ ํด๋์ค(์์ ์ Math)๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๊ฒ์ ํจ์ฌ ๋ ์ข์ต๋๋ค! ๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๋ ๋ชจ๋ ์ฝ๋๊ฐ ์๋ธ๋ฆฟ ๋ฐฉ์์ผ๋ก ์ฎ๊ฒจ์ง ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค doGet()
. ๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ ์ฆ์ ๋ช ๊ฐ์ง ์ง๋ฌธ์ ์ ๊ธฐํฉ๋๋ค.
- ์ฝ๋๊ฐ ๋ฉ์๋๋ก ์ด๋๋๋๋ก ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ฌด์์
๋๊น
doPost()
? - ๋ฐฉ๋ฒ์ ์์ ์ ์ฝ๋๋ฅผ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ์ ๋ฌด์์
๋๊น
init()
? - ๊ฒฐ๊ตญ ํด๋์ค ๊ฐ์ ธ์ค๊ธฐ๋ฅผ ๋ฑ๋กํ๋ ๋ฐฉ๋ฒ์ ๋ฌด์์ ๋๊น?
ํ๋ฅญํ ์ง๋ฌธ๊ณผ ๋ฌผ๋ก ๋ต๋ณ์ด ์์ต๋๋ค. ๋ฐ๋ก JSP ์ง์๋ฌธ์
๋๋ค. JSP ๋ด์ ๋ชจ๋ ๋น HTML ์ฝ๋๋ ํน์ ๋๊ดํธ <%
๋ฐ ๋ก ๋ฌถ์ด์ผ ํฉ๋๋ค %>
. ๋ชจ๋ JSP ์ง์๋ฌธ์ ํ
ํ๋ฆฟ์ผ๋ก ์ ๊ณต๋ฉ๋๋ค.
<%@ directive %>
๋ค์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ํ์ด์ง ์ง์๋ฌธ ์์ฑ ๋ชฉ๋ก์ ๋๋ค.
์ | ์ค๋ช | ||
---|---|---|---|
1 | ์์ | <%@ page import="java.util.Date" %> |
ํด๋์ค๋ฅผ ๊ฐ์ ธ์ต๋๋ค |
2 | ์ปจํ ์ธ ํ์ | <%@ page contentType=text/html %> |
์ฝํ ์ธ ์ ํ ์ค์ |
์ผ | ์ฐ์ฅํ๋ค | <%@ page extends="Object" %> |
๊ธฐ๋ณธ ํด๋์ค๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค. |
4 | ์ ๋ณด | <%@ page info="Author: Peter Ivanovich; version:1.0" %> |
getServletInfo()์ ๋ํ ๋ฐ์ดํฐ ์ค์ |
5 | ์์ถฉ๊ธฐ | <%@ page buffer="16kb" %> |
์๋ต ๋ฒํผ์ ํฌ๊ธฐ๋ฅผ ์ค์ ํฉ๋๋ค. |
6 | ์ธ์ด | <%@ page language="java" %> |
์ธ์ด๋ฅผ ์ง์ ํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ Java์ ๋๋ค. |
7 | isELigned | <%@ page isELIgnored="true" %> |
EL ์คํฌ๋ฆฝํธ๋ฅผ ๋นํ์ฑํํ ์ ์์ต๋๋ค. |
8 | isThreadSafe | <%@ page isThreadSafe="false" %> |
์ค๋ ๋์ธ์ดํ๋ฅผ ๊ฐ๋ฆฌํด |
9 | ์๋ ํ๋ฌ์ | <%@ page autoFlush="false" %> |
๋ฒํผ ์ฐ๊ธฐ ๊ด๋ฆฌ |
10 | ์ธ์ | <%@ page session="false" %> |
ํ์ด์ง์ ๋ํ ์ธ์ ์ ๋นํ์ฑํํ ์ ์์ต๋๋ค. |
์ดํ๋ | ํ์ด์ง์ธ์ฝ๋ฉ | <%@ page pageEncoding="UTF-8"%> |
ํ์ด์ง ์ธ์ฝ๋ฉ์ ์ค์ ํ ์ ์์ต๋๋ค. |
12 | errorPage | <%@ page errorPage="errorpage.jsp" %> |
์ค๋ฅ ํ์ด์ง๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค. |
2.2 ์์ ํ
์ฌ๋ฏธ๋ฅผ ์ํด JSP ํ์ผ์ ๋ช ๊ฐ์ง ๊ฐ์ ธ์ค๊ธฐ๋ฅผ ์ถ๊ฐํ๊ณ ๊ธฐ๋ณธ ํด๋์ค๋ฅผ ์ ์ํด ๋ณด๊ฒ ์ต๋๋ค.
JSP ํ์ผ ์:
<%@ page import="java.util.Date" %>
<%@ page import="java.lang.Math" %>
<%@ page extends="com.codegym.MyHttpServlet" %>
<html>
<body>
<%
double num = Math.random();
if (num > 0.95) {
%>
<h2>You are lucky, user!</h2><p>(<%= num %>)</p>
<%
}
%>
</body>
</html>
๊ทธ ๊ฒฐ๊ณผ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
import java.util.Date;
import java.lang.Math;
public class HelloServlet extends com.codegym.MyHttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws Exception {
PrintWriter out = response.getWriter();
out.print("<html> ");
out.print("<body> ");
double num = Math.random();
if (num > 0.95) {
out.print("<h2> You're lucky, user! </h2> <p> (" + num + ")</p> ");
}
out.print("</body> ");
out.print("</html> ");
}
}
๊ณต์ฅ. ์์ฒญ๋!
GO TO FULL VERSION