자카르타 서버 페이지(jakarta Server Pages, JSP)의 줄임말이다. 예전에는 Java Server Pages라고도 불렸다. 좀 찾아보니 Java가 오라클로 인수되면서 자바 상표권 문제로 자바 대신 자카르타로 이름을 바꾸었다고 한다.
JSP는 HTML내에 자바 코드를 삽입하여 웹 서버에서 동적으로 웹 페이지를 생성하여 웹 브라우저에 돌려주는 서버 사이드 스크립트 언어이다. (java EE 스펙 중 일부로 웹 어플리케이션 서버에서 동작함)
JSTL 등의 JSP 태그 라이브러리를 사용할 경우 자바 코딩없이 태그만으로 가능할 정도로 생산성을 높일 수 있다.
그림에서 볼 수 있듯 JSP가 Servlet으로 변환된다.
<% %>
이런 형식으로 사용되는 데, 주석까지 총 4가지 형식을 가지고 있다.
멤버변수 선언이나 메서드를 선언하는 영역이다.
<%! 멤버 변수와 method작성 %>
<%!
String name;
public void init() {
name = "Kim";
}
%>
Client 요청 시 매번 호출 영역으로, Servlet으로 변환 시 service() method에 해당되는 영역이다.
request, response에 관련된 코드를 구현한다.
<% java code %>
for(int dan = 2; dan < 10; dan++) {
out.println("<tr>");
String className = dan % 2 == 0 ? "color1" : "color2";
for(int i = 1; i < 10; i++) {
out.println("<td class=\"" + className + "\">" + dan + " * " + i + " = " + (dan * i) + "</td>");
}
out.println("</tr>");
}
데이터를 브라우저에 출력할 때 사용한다.
<%= 문자열 %>
Hi <%= name %>.
<%= name %>
== <% out.println(name); %>
코드 상에서 부가 설명.
<%-- 주석 내용 --%>
<!-- HTML 주석 -->
<%-- JSP 주석 --%>
<%
// Java
/*
주
석
*/
%>