1) JSP ๋ฌธ๋ฒ
JSP๋ HTMLํ๊ทธ์ ์๋ฐ์ฝ๋๋ฅผ ์์ด์ ๊ฐ๋ฐํ ์ ์์ต๋๋ค.
์ง๋ ์๊ฐ JSP ์คํฌ๋ฆฝํธ ๊ตฌ์ฑ์์ 5๊ฐ์ง(์ง์์, ์คํฌ๋ฆฝํธ๋ฆฟ, ํํ์, ์ ์ธ์, ์ฃผ์)๋ผ๊ณ ๋งํ๋ JSP ๋ฌธ๋ฒ์ ํ ๋ฒ๋ ์ ๋ฆฌํ๋๋ก ํ๊ฒ ์ต๋๋ค.
ํ์ต ๋ชฉํ
- JSP์์ ์ ์ธ๋ฌธ์ ์ด์ฉํด ํ๋์ ๋ฉ์๋๋ฅผ ์ ์ธํ ์ ์๋ค.
- JSP์์ ์๋ฐ ์ฝ๋๋ฅผ ์ ๋ ฅํ๋ ๋ฐฉ๋ฒ์ ์ ์ ์๋ค.
- JSP์์ ๋ณ์๊ฐ์ ์ถ๋ ฅํ ์ ์๋ค.
- JSP์์ ์ฃผ์๋ฌธ์ ์์ฑํ ์ ์๋ค.
ํต์ฌ ๊ฐ๋
- ์ ์ธ๋ฌธ(Declaration)
- ์คํฌ๋ฆฝํธ๋ฆฟ(Scriptlet)
- ํํ์(Expression)
- ์ฃผ์(Comment)
์คํฌ๋ฆฝํธ ์์์ ์ดํด
- JSP ํ์ด์ง์์๋ ํฌ๊ฒ ์ ์ธ๋ฌธ(Declaration), ์คํฌ๋ฆฝํธ๋ฆฟ(Scriptlet), ํํ์(Expression) ์ด๋ผ๋ 3๊ฐ์ง์ ์คํฌ๋ฆฝํธ ์์๋ฅผ ์ ๊ณตํฉ๋๋ค.
์ ์ธ๋ฌธ(Declaration)
- ์ ์ธ๋ฌธ : <%! %>
- ์ ์ธ๋ฌธ์ JSP ํ์ด์ง ๋ด์์ ํ์ํ ๋ฉค๋ฒ๋ณ์๋ ๋ฉ์๋๊ฐ ํ์ํ ๋ ์ ์ธํด ์ฌ์ฉํ๋ ์์
- ์ ์ธ๋ฌธ์ ๋ฌธ๋ฒ
- <%! ๋ฌธ์ฅ %>
JSP๊ฐ ์๋ธ๋ฆฟ์ผ๋ก ๋ฐ๋์์ ๋๋ฅผ ๊ธฐ์ตํด๋ณด๋ฉด ๋ชจ๋ Service๋ฉ์๋ ์์์ ์๋ฐ ์ฝ๋๋ก ๋ฐ๋์ด ์์๋๋ฐ, ์ ์ธ๋ฌธ์ ์ฌ์ฉํ๋ฉด Service๋ฉ์๋๊ฐ ์๋๋ผ ํด๋์ค๋ฐ๋ ์ชฝ์ ํด๋น ์ฝ๋๊ฐ ๋ฐ๋๋ ๊ฒ์ ๋ณผ ์ ์์์ต๋๋ค.
exam1.jsp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
id : <%=getId() %>
</body>
</html>
<%!
String id = "u001"; //๋ฉค๋ฒ๋ณ์ ์ ์ธ
public String getId( ) { //๋ฉ์๋ ์ ์ธ
return id;
}
%>
|
cs |
๋ฉค๋ฒ๋ณ์์ ๋ฉ์๋๋ฅผ ํ๋ ์์ฑํด๋ด ๋๋ค. JSP์ฝ๋ ๋ด์ ์์น๋ ์ค์ํ์ง ์์ผ๋ ์ด๋ ์์น์ ์์ฑํ๋ ์๊ด์์ต๋๋ค.
์คํ๊ฒฐ๊ณผ
bodyํ๊ทธ ๋ด์์ ์ ์ธ๋ฌธ์์ ์์ฑํ๋ id๊ฐ์ ์ ๋ถ๋ฌ์ค๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
exam1_jsp.java
public final class exam1_jsp extends org.apache.jasper.runtime.HttpJspBase
implements org.apache.jasper.runtime.JspSourceDependent,
org.apache.jasper.runtime.JspSourceImports {
String id = "u001"; //๋ฉค๋ฒ๋ณ์ ์ ์ธ
public String getId( ) { //๋ฉ์๋ ์ ์ธ
return id;
}
....
public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response)
throws java.io.IOException, javax.servlet.ServletException {
....
try {
....
out.write("\r\n");
out.write("<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\r\n");
out.write("<html>\r\n");
out.write("<head>\r\n");
out.write("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\r\n");
out.write("<title>Insert title here</title>\r\n");
out.write("</head>\r\n");
out.write("<body>\r\n");
out.write("\r\n");
out.write("id : ");
out.print(getId() );
out.write("\r\n");
out.write("</body>\r\n");
out.write("</html>\r\n");
out.write("\r\n");
} catch (java.lang.Throwable t) {
....
} finally {
_jspxFactory.releasePageContext(_jspx_page_context);
}
}
}
์ค์ ์๋ธ๋ฆฟ์ผ๋ก ๋ณํ๋ ์ฝ๋๋ฅผ ํ์ธํด๋ณด๋ฉด ํด๋์ค๋ฐ๋์ ์ ์ธ์ ๋ด์ ์์ฑํ๋ ๋ฉค๋ฒ๋ณ์์ ๋ฉ์๋๊ฐ ๋ณด์ด๊ณ , ๊ทธ ์๋ ์๋น์ค ๋ฉ์๋์ ์ค์ ๋ก ์ ์ธ์์ ์์ฑํ๋ ๋ฉค๋ฒ๋ณ์์ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๊ณ ์๋ ํํ์ ๋ถ๋ถ์ ํ์ธ ํ ์ ์์ต๋๋ค.
์ด๋ ๊ฒ ๋ฉค๋ฒ ๋ณ์๋ฅผ ์ ์ธํ๊ฑฐ๋ ๋ฉ์๋๋ฅผ ์ ์ธํ ๋
์คํฌ๋ฆฝํธ๋ฆฟ(Scriptlet)
- ์คํฌ๋ฆฝํธ๋ฆฟ : <% %>
- ๊ฐ์ฅ ์ผ๋ฐ์ ์ผ๋ก ๋ง์ด ์ฐ์ด๋ ์คํฌ๋ฆฝํธ ์์
- ์ฃผ๋ก ํ๋ก๊ทธ๋๋ฐ์ ๋ก์ง์ ๊ธฐ์ ํ ๋ ์ฌ์ฉ
- ์คํฌ๋ฆฝํธ๋ฆฟ์์ ์ ์ธ๋ ๋ณ์๋ ์ง์ญ๋ณ์
- ์คํฌ๋ฆฝํธ๋ฆฟ์ ๋ฌธ๋ฒ
- <% ๋ฌธ์ฅ%>
์ ์ธ๋ฌธ์์ ์ ์ธํ๋ ๊ฒ๊ณผ ๋ค๋ฅด๊ฒ ์คํฌ๋ฆฝํธ๋ฆฟ์ ์ง์ญ๋ณ์์ ๋๋ค. ์ฆ, ์คํฌ๋ฆฝํธ๋ฆฟ ์์์ ์ ์ธ๋ ๋ณ์๋ ์๋น์ค๋ฉ์๋ ์์ ์ ์ธ๋๋ ๋ณ์์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ JSP ๊ตฌ์ฑ์์ ์ค ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํฉ๋๋ค.
exam2.jsp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
for(int i = 1; i <= 5; i++){
%>
<H<%=i %>> ์๋ฆ๋ค์ด ํ๊ธ </H<%=i %>>
<%
}
%>
</body>
</html>
|
cs |
๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํด์ ๋๊ฐ์ ๋ฌธ์์ด์ ์ถ๋ ฅํด๋ณด๊ณ ์ ํฉ๋๋ค.
์คํฌ๋ฆฝํธ๋ฆฟ๋ด์ html์ฝ๋๋ฅผ ์ฐ๊ณ ์ถ์ง๋ง ์คํฌ๋ฆฝํธ๋ฆฟ๋ด์ ์๋ ๊ฒ๋ค์ ์๋ต ๊ฒฐ๊ณผ์ ํฌํจ๋์ง ์์ต๋๋ค.
๊ทธ๋์ ์คํฌ๋ฆฝํธ๋ฆฟ์ ์ชผ๊ฐ์ for๋ฌธ์ด 11๋ฒ์งธ ์ค์์ ์์๋์ง๋ง ๋๋๋ ๊ฒ์ 15๋ฒ์งธ ์ค ์คํฌ๋ฆฝํธ๋ฆฟ์์ ๋๋๊ฒ ํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ฉด ๊ทธ ์ฌ์ด 14๋ฒ์งธ ์ค์ ์ผ๋ ๊ตฌ๋ฌธ์ด ๋ฐ๋ณต์ ์ผ๋ก ๋ํ๋๊ฒ ๋ ์ ์์ต๋๋ค.
์คํ ๊ฒฐ๊ณผ
์ด๋ ๊ฒ ์คํฌ๋ฆฝํธ๋ฆฟ์ ์ฌ์ฉํ๋ฉด ํ๊ทธ๊ฐ ๋์ ์ผ๋ก ๋ง๋ค์ด์ ธ์ ์ถ๊ฐ๊ฐ ๋๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.
html ์์ค๋ณด๊ธฐ ๊ฒฐ๊ณผ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<H1> ์๋ฆ๋ค์ด ํ๊ธ </H1>
<H2> ์๋ฆ๋ค์ด ํ๊ธ </H2>
<H3> ์๋ฆ๋ค์ด ํ๊ธ </H3>
<H4> ์๋ฆ๋ค์ด ํ๊ธ </H4>
<H5> ์๋ฆ๋ค์ด ํ๊ธ </H5>
</body>
</html>
|
cs |
exam2_jsp.java
public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response)
throws java.io.IOException, javax.servlet.ServletException {
....
try {
....
out.write("\r\n");
out.write("<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\r\n");
out.write("<html>\r\n");
out.write("<head>\r\n");
out.write("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\r\n");
out.write("<title>Insert title here</title>\r\n");
out.write("</head>\r\n");
out.write("<body>\r\n");
out.write("\r\n");
for(int i = 1; i <= 5; i++){
out.write("\r\n");
out.write("<H");
out.print(i );
out.write("> ์๋ฆ๋ค์ด ํ๊ธ </H");
out.print(i );
out.write('>');
out.write('\r');
out.write('\n');
}
out.write("\r\n");
out.write("</body>\r\n");
out.write("</html>");
} catch (java.lang.Throwable t) {
....
}
} finally {
_jspxFactory.releasePageContext(_jspx_page_context);
}
}
}
๋ฐ๋ณต๋ฌธ์ด ๋ค์ฏ ๋ฒ ๋๋ฉด์ ์์ html๊ณผ ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ๋ง๋ค์ด๋๊ณ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์๋ต์ผ๋ก ๋ณด๋๊ธฐ ๋๋ฌธ์ ํด๋น ์์ฒญ์ ๋ํ ์ถ๋ ฅ์ ์ฐ๋ฆฌ๊ฐ ๋ดค๋ ์คํ ๊ฒฐ๊ณผ์ ๊ฐ์ ๋ชจ์ต์ด ๋ฉ๋๋ค.
๋ฐ๋ณต์ ์ผ๋ก ๊ฐ์กฐํ๊ณ ์๋ JSP์ ๊ฐ์ฅ ํต์ฌ์ 'JSP๊ฐ ์๋ธ๋ฆฟ์ผ๋ก ๋ฐ๋ ๋ ์ด๋ป๊ฒ ๋ฐ๋๊น?'์ ๋๋ค.
ํํ์(Expression)
- ํํ์ : <%=%>
- JSP ํ์ด์ง์์ ์น ๋ธ๋ผ์ฐ์ ์ ์ถ๋ ฅํ ๋ถ๋ถ์ ํํ (์ฆ, ํ๋ฉด์ ์ถ๋ ฅํ๊ธฐ ์ํ ๊ฒ)
- ์คํฌ๋ฆฝํธ๋ฆฟ๋ด์์ ์ถ๋ ฅํ ๋ถ๋ถ์ ๋ด์ฅ๊ฐ์ฒด์ธ out ๊ฐ์ฒด์ print() ๋๋ println() ๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ ์ถ๋ ฅ
- ํํ์์ ๋ฌธ๋ฒ
- <%=๋ฌธ์ฅ%>
์๋ต ๊ฒฐ๊ณผ์ ๋ญ๊ฐ๋ฅผ ํํํ๊ณ ์ถ๋ค๋ฉด ๋ฐ๋์ ํํ์์๋ค๊ฐ ๋ฃ์ด์ผ์ง๋ง ์ถ๋ ฅ์ด ๋ฉ๋๋ค.
์ฃผ์(Comment)
- JSPํ์ด์ง์์ ์ฌ์ฉํ ์ ์๋ ์ฃผ์
- HTML์ฃผ์, ์๋ฐ์ฃผ์, JSP์ฃผ์
1. HTML ์ฃผ์
- HTML ์ฃผ์์ <!--๋ก ์์ํด์ -->๋ก ๋๋๋ ํํ
- HTML ์ฃผ์์ HTML์ฃผ์์ ์ฌ์ฉํ ํ์ด์ง๋ฅผ ์น์์ ์๋น์คํ ๋ ํ๋ฉด์ ์ฃผ์์ด ๋ด์ฉ์ด ํ์๋์ง๋ ์์ผ๋ , [์์ค๋ณด๊ธฐ]์ํํ๋ฉด HTML์ฃผ์์ ๋ด์ฉ์ด ํ๋ฉด์ ํ์.
- HTML์ฃผ์์ ์์
<!-- html ์ฃผ์์
๋๋ค. -->
2. JSP์ฃผ์
- JSP ํ์ด์ง์์๋ง ์ฌ์ฉ๋๋ฉฐ <%--๋ก ์์ํด์ --%>๋ก ๋๋๋ ํํ
- JSP ์ฃผ์์ ํด๋น ํ์ด์ง๋ฅผ, ์น ๋ธ๋ผ์ฐ์ ๋ฅผ ํตํด ์ถ๋ ฅ ๊ฒฐ๊ณผ๋ก์ ํ์ํ๊ฑฐ๋, ์น ๋ธ๋ผ์ฐ์ ์์์ ์์ค ๋ณด๊ธฐ๋ฅผ ํด๋ ํ์ ๋์ง ์์. ๋ํ JSP์ฃผ์ ๋ด์ ์คํ์ฝ๋๋ฅผ ๋ฃ์ด๋ ๊ทธ ์ฝ๋๋ ์คํ๋์ง ์์.
- JSP์ฃผ์์ ์์
<%-- JSP ์ฃผ์์
๋๋ค. --%>
3. ์๋ฐ์ฃผ์
- ์๋ฐ ์ฃผ์์ //, /**/์ ์ฌ์ฉํด์ ์์ฑ.
- //์ ํ ์ค์ง๋ฆฌ ์ฃผ์์ ์์ฑํ ๋ ์ฌ์ฉ๋๊ณ , /**/์ ์ฌ๋ฌ ์ค์ ์ฃผ์์ ์์ฑํ ๋ ์ฌ์ฉ
- ์คํฌ๋ฆฝํธ๋ฆฟ์ด๋ ์ ์ธ๋ฌธ์์ ์ฌ์ฉ๋๋ ์ฃผ์์ผ๋ก, ์๋ฐ์ ์ฃผ์ ์ฒ๋ฆฌ ๋ฐฉ๋ฒ์ด ๊ฐ์
- ์๋ฐ์ฃผ์์ ์์
//์ฃผ์
/*์ฃผ์
์ฌ๋ฌ ์ค์ ๊ฑธ์น ์ฃผ์์ด๋ค.
*/
์ธ์ ์ฃผ์์ผ๋ก์จ์ ์ญํ ์ ํ ๊น?
- JSP์ฃผ์์ธ ๊ฒฝ์ฐ ์ฃผ์ ์์ฒด๊ฐ JSP์ ์ฃผ์์ด๊ธฐ ๋๋ฌธ์ ์์ ์๋ธ๋ฆฟ์ผ๋ก ๋ฐ๋์ง ์์ต๋๋ค.
- ์๋ฐ ์ฃผ์์ธ ๊ฒฝ์ฐ์๋ ์๋ฐ๋ก ๋ค ๋ฐ๋๋๋ค. ๋ฐ๋๋๋ฐ ์ค์ ์๋ฐ ์ฝ๋๊ฐ ์คํ๋ ๋ ์ฃผ์์ด๊ธฐ ๋๋ฌธ์ ์คํ์ ๋์ง ์์ต๋๋ค.
- HTML ์ฃผ์์ ์๋ฐ๋ก๋ ๋ฐ๋๊ณ ์๋ฐ์์ ์คํ๋ ๋๊ณ ์๋ต ๊ฒฐ๊ณผ์ ํฌํจ๋ ๋ฉ๋๋ค. ๊ทธ๋ฐ๋ฐ ์ค์ ์๋ต ๊ฒฐ๊ณผ๊ฐ ๋์ด์์ ๋(๋ธ๋ผ์ฐ์ ๊ฐ HTML์ ๋ณด์ฌ์ค ๋) ์ฃผ์์์ ์ธ์งํ๊ธฐ ๋๋ฌธ์ ํ๋ฉด์ ๋ณด์ด์ง ์๊ฒ ๋ฉ๋๋ค.
2) JSP ๋ด์ฅ๊ฐ์ฒด
JSP์์๋ ๊ฐ๋ฐ์๊ฐ ์ ์ธํ์ง ์์๋, ์ฌ์ฉํ ์ ์๋ ๋ฏธ๋ฆฌ ์ ์ธ๋ ๋ณ์๊ฐ ์กด์ฌํฉ๋๋ค. ์ด๋ฅผ ๋ด์ฅ๊ฐ์ฒด๋ผ๊ณ ํฉ๋๋ค.
๊ฐ๋ฐ์๊ฐ ์ ์ธํ์ง ์์์์๋ ์ด๋ป๊ฒ JSP์์ ๋ด์ฅ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ ์ ์๋์ง, ๊ทธ๋ฆฌ๊ณ ์ด ๋ด์ฅ ๊ฐ์ฒด๋ฅผ ์ด๋ป๊ฒ ์ฌ์ฉํด์ผ ํ๋์ง์ ๋ํด์ ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
ํ์ต ๋ชฉํ
- ๋ด์ฅ๊ฐ์ฒด๊ฐ ๋ฌด์์ธ์ง ์ดํดํ๋ค.
- ๋ด์ฅ๊ฐ์ฒด ์ข ๋ฅ๋ฅผ ์๊ณ ์ด์ฉํ ์ ์๋ค.
ํต์ฌ ๊ฐ๋
- request
- response
- out
- application
- page
- session
JSP ๋ด์ฅ ๊ฐ์ฒด๋?
- JSP๋ฅผ ์คํํ๋ฉด ์๋ธ๋ฆฟ ์์ค๊ฐ ์์ฑ๋๊ณ ์คํ๋๋ค.
- JSP์ ์ ๋ ฅํ ๋๋ถ๋ถ์ ์ฝ๋๋ ์์ฑ๋๋ ์๋ธ๋ฆฟ ์์ค์ _jspService() ๋ฉ์๋ ์์ ์ฝ์ ๋๋ ์ฝ๋๋ก ์์ฑ๋๋ค.
- _jspService()์ ์ฝ์ ๋ ์ฝ๋์ ์๋ถ๋ถ์ ๋ฏธ๋ฆฌ ์ ์ธ๋ ๊ฐ์ฒด๋ค์ด ์๋๋ฐ, ํด๋น ๊ฐ์ฒด๋ค์ jsp์์๋ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.
- response, request, application, session, out๊ณผ ๊ฐ์ ๋ณ์๋ฅผ ๋ด์ฅ๊ฐ์ฒด๋ผ๊ณ ํ๋ค.
๋ด์ฅ ๊ฐ์ฒด์ ์ข ๋ฅ
request, out ๊ฐ์ ๋ด์ฅ ๊ฐ์ฒด๋ค์ด ์ด๋ฏธ JSP๊ฐ ์๋ธ๋ฆฟ์ผ๋ก ๋ฐ๋ ๋ ๋ง๋ค์ด์ ๊ฐ์ง๊ณ ์๊ณ ์ด๋ฐ ๊ฐ์ฒด๋ค์ ๋ฐ๋ก ์ ์ธํ๊ฑฐ๋ ์์ฑํ์ง ์์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. scope๋ผ๋ ๊ฒ๋ ์๋๋ฐ ๋์ค์ ์ค์ฝํ์ ๋ํด ๋ฐฐ์ธ ๋ ์์ธํ ๋ค๋ค๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
exam2_jsp.java
public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response)
throws java.io.IOException, javax.servlet.ServletException {
final java.lang.String _jspx_method = request.getMethod();
if (!"GET".equals(_jspx_method) && !"POST".equals(_jspx_method) && !"HEAD".equals(_jspx_method) && !javax.servlet.DispatcherType.ERROR.equals(request.getDispatcherType())) {
response.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED, "JSPs only permit GET POST or HEAD");
return;
}
final javax.servlet.jsp.PageContext pageContext;
javax.servlet.http.HttpSession session = null;
final javax.servlet.ServletContext application;
final javax.servlet.ServletConfig config;
javax.servlet.jsp.JspWriter out = null;
final java.lang.Object page = this;
javax.servlet.jsp.JspWriter _jspx_out = null;
javax.servlet.jsp.PageContext _jspx_page_context = null;
try {
response.setContentType("text/html; charset=UTF-8");
pageContext = _jspxFactory.getPageContext(this, request, response,
null, true, 8192, true);
_jspx_page_context = pageContext;
application = pageContext.getServletContext();
config = pageContext.getServletConfig();
session = pageContext.getSession();
out = pageContext.getOut();
_jspx_out = out;
out.write("\r\n");
out.write("<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\r\n");
out.write("<html>\r\n");
out.write("<head>\r\n");
out.write("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\r\n");
out.write("<title>Insert title here</title>\r\n");
out.write("</head>\r\n");
out.write("<body>\r\n");
out.write("\r\n");
for(int i = 1; i <= 5; i++){
out.write("\r\n");
out.write("<H");
out.print(i );
out.write("> ์๋ฆ๋ค์ด ํ๊ธ </H");
out.print(i );
out.write('>');
out.write('\r');
out.write('\n');
}
out.write("\r\n");
out.write("</body>\r\n");
out.write("</html>");
} catch (java.lang.Throwable t) {
....
} finally {
_jspxFactory.releasePageContext(_jspx_page_context);
}
}
}
์คํฌ๋ฆฝํ๋ฆฟ์ ์์๋ณด๋ฉด์ ์์ฑํ๋ JSP๊ฐ ์๋ฐ๋ก ๋ณํ๋ ๊ฒ์ ๋ค์ ํ ๋ฒ ์ดํด๋ณด๋ฉด,
์๋น์ค๋ฉ์๋์ ์ธ์๋ก request์ response๊ฐ ์กด์ฌํ๊ณ ๊ทธ ์๋ ๋ฉค๋ฒ๋ณ์๋ก session, out, page ๋ฑ ๋ด์ฅ๊ฐ์ฒด๋ค์ด ์๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
์ด๋ ๊ฒ ํญ์ JSP๊ฐ ์๋ธ๋ฆฟ์ผ๋ก ๋ณํ๋์ด ์คํ๋๊ธฐ ๋๋ฌธ์ ๋ด์ฅ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์๋น์ค๋ฉ์๋ ๋ด์ ๋ด์ฅ๊ฐ์ฒด๊ฐ ์ ์ธ๋๋ ํน์ฑ๋๋ฌธ์ JSP ์ ์ธ๋ฌธ์์๋ ๋ด์ฅ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ด๋ ๊ฒ JSP ๋ฌธ๋ฒ์ ๋ค์ ํ ๋ฒ ์ ๋ฆฌํ๊ณ JSP ๋ด์ฅ๊ฐ์ฒด๊น์ง ์์๋ดค์ต๋๋ค.
ํ๊ธฐ
๋ฒ์จ ๋ด์ผ์ด 3์ ๋ง์ง๋ง ์ฃผ๋ก ๋ถ์คํธ์ฝ์ค ๋ํ์ ์ํฌํฐ์ฆ 2๊ธฐ ํ๋์ด ๋๋๋๋ฐ์... ๋๋ฌด ์ด์ฌํ ๋ชปํ ๊ฒ ๊ฐ์ ์์ฌ์ฐ๋ฉด์ ์ฒ์๋ถํฐ ์์ฃผ๊ฐ ๋ชฉํ์๊ธฐ ๋๋ฌธ์๐ ํ๋ จํ๊ธฐ๋ ํ๊ณ ์์์ญ์ญํ๋ค์ใ . ๊ทธ๋๋ ์์ผ๋ก ๋จ์ ๊ฐ์๋ ๋ง์ผ๋๊น ๋จ์ ๊ฐ์๋ ์ด์ฌํ ๋ฃ๊ณ ์ ๋ฆฌํ๊ณ ์ถ์ ๋ด์ฉ์ด ์๊ธฐ๋ฉด ๋ ๊ธ์ ์์ฑํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ์ฌํ๊น์ง ์ ๊ธ์ ํ ๋ฒ์ด๋ผ๋ ๋ด์ฃผ์ จ๋ ๋ชจ๋ ๋ถ๋ค๊ป ๊ฐ์ฌ๋๋ฆฌ๊ณ ์๊ฐ์๋ค์ ๊ธ์ ๊ณ์ ํ์ธํด์ฃผ์ จ๋ ๋ฉํ ๋๋ค๊ป ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ ๋ฅผ ํฌํจํ์ฌ 2์ ๋ถํฐ ์ด์ฌํ ๋ฌ๋ ค์จ ์๊ฐ์๋ค์๊ฒ๋ ์๊ณ ํ๋ค๋ ๋ง์ ์ ํ๊ณ ์ถ์ต๋๋ค. ๋ชจ๋ ๊ฐ์ฌํฉ๋๋ค!!
๊ทธ๋ผ ๋ง์ง๋ง์ผ๋ก ์ค์ํ ํ ๊ฐ์ง๋ง ์๊ธฐ์ํค๊ณ ๋ง๋ฌด๋ฆฌ ํ๋๋ก ํ๊ฒ ์ต๋๋ค.
JSP๋ ํญ์ ์๋ธ๋ฆฟ์ผ๋ก ๋ฐ๋์ด์ ์คํ๋๋ค!
๋๊ธ