자바 서버 페이지는 HTML내에 자바 코드를 삽입하여 웹 서버에서 동적으로 웹페이지를 생성하여 웹 브라우저에 돌려주는 언어이다. Java EE 스펙 중 일부로 웹 어플리케이션 서버에 동작한다.
자바 서버 페이지는 실행시에는 자바 서블릿으로 변환된 후 실행되므로 서블릿과 거의 유사하다고 볼 수 있다. 하지만, 서블릿과는 달리 HTML 표준에 따라 작성되므로 웹 디자인하기에 편리하다.
1. 선언 (Declaration)
멤버변수 선언이나 메소드를 선언하는 영역<%! String name; public void init(){ name = "무민"; } %>
2. 스크립트릿 (Scriptlet)
Client 요청 시 매번 호출 영역으로, Servlet으로 변환 시 service() method에 해당되는 영역.
request, response에 관련된 코드 구현.<% java code %>
3. 표현식 (Expression)
데이터를 브라우저에 출력할 때 사용<%= name%>!!!
주의) <%= 문자열; %> : 문자열 뒤 세미콜론(;)은 작성X
<%= 문자열 %> == <% out.print(문자열); %> : 같은 표현
4. 주석 (Comment)
코드 상에서 부가 설명을 작성<%-- JSP 주석 --%>
1. page Directive
컨테이너에게 현재 JSP페이지를 어떻게 처리할 것인가에 대한 정보를 제공한다.<%@ page attr1="val1" attr2="val2" ... %>
2. include Directive
특정 jsp file을 페이지에 포함.
여러 jsp페이지에서 반복적으로 사용되는 부분을 jsp file로 만든 후 반복 영역에 include 시켜 반복되는 코드를 줄일 수 있다.<%@ include file="/"template/header.jsp" %>
3. taglib Directive
JSTL 또는 사용자에 의해서 만든 커스텀 태그를 이용할 때 사용되며 JSP페이지 내에 불필요한 자바 코드를 줄일 수 있다.<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
servlet과 jsp 페이지 간에 특정 정보를 주고 받거나 공유하기 위한 메소드를 지원