스크립트언어인 JSP를 알아보자!
<%
%>
: 서블릿으로 바뀔 때 어떻게 바뀔 지 결정하는 내용이라는 기호<%@
: (맨위) 지시자<%@ page
~ %>
: 페이지 지시문<%@ 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>sum10</title>
</head>
<body>
<%
int total = 0;
for(int i = 1; i <= 10; i++){
total = total + i;
}
%> <!--서블릿으로 바꿀 때 어떻게 바꿀 지 말해주는 기호-->
1부터 10까지의 합 : <%=total %> <!--응답으로 주는 내용 < % = out.print(); == < % = % > -->
</body>
</html>
실행하면 이렇게 뜸.
public void _jspInit() {
}
public void _jspDestroy() {
}
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("\n");
out.write("<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n");
out.write("<html>\n");
out.write("<head>\n");
out.write("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\n");
out.write("<title>sum10</title>\n");
out.write("</head>\n");
out.write("<body>\n");
out.write("\n");
int total = 0;
for(int i = 1; i <= 10; i++){
total = total + i;
}
out.write("\n");
out.write("\n");
out.write("1부터 10까지의 합 : ");
out.print(total );
out.write("\n");
out.write("\n");
out.write("</body>\n");
out.write("</html>");
} catch (java.lang.Throwable t) {
.....
}
} finally {
_jspxFactory.releasePageContext(_jspx_page_context);
}
}
JSP는 HTML태그와 자바코드를 섞어서 개발할 수 있다.
JSP페이지에서는 선언문
, 스크립트릿
, 표현식
이라는 3가지의 스크립트 요소를 제공한다.
선언문 - <%! %> : 전역변수 선언 및 메서드 선언에 사용
스크립트릿 - <% %> : 프로그래밍 코드 기술에 사용
표현식 - <%=%> : 화면에 출력할 내용 기술에 사용
<%!
~ %>
...
</head>
<body>
선언한 메서드를 이용해 id 출력 : <%=getId()%>
<%!
String id = "u001"; //멤버변수 선언
public String getId() { //메서드 선언
return id;
}
%>
</body>
</html>
<%
~ %>
...
<body>
<%
for (int i=1; i<=5; i++) {
%>
<h<%=i%>>Scriptlet Test</h>
<%
}
%>
</body>
...
<%=
~ %>
<!--
html -->
<%--
jsp --%>
//
, /*
java */
JSP에는 개발자가 선언하지 않아도 사용할 수 있는, 미리 선언된 변수가 존재한다. 이것이 내장객체!
response
, request
, application
, session
, out
과 같은 변수들을 내장객체라고 한다.필요에 따라 내장객체를 사용할 수 있다.
...
<body>
<%
StringBuffer url = request.getRequestURL();
out.print("url :" + url.toString());
out.print("<br>");
%>
</body>
...