JSP 페이지 정의
- JSP = JSP(Java Server Page) 기술 중 웹 어플리케이션을 구현 할 때 작성하는 코드
- HTML 문서 사이에 자바 코드가 삽입되는 형태
<HTML>
<%
String a = "a";
%>
</HTML>
- 구동되는 방식 (일련의 스레드화가 되는 방식으로 생각)
요청 -> JSP 페이지 -> 서블릿 클래스의 소스 코드 변환 -> 컴파일 -> 서블릿 클래스 파일 -> 인스턴스화 -> 서블릿 객체 -> 초기화 -> 서블릿 동작
JSP 페이지 구성 요소
요소 | 개요 |
Directive (지시자) | 지시자로써, JSP 페이지의 메타 데이터를 표현한다. Page 지시자, include 지시자, taglib 지시자 |
Scriptlet (스크립틀릿) | 서블릿의 doGet() / doPost() 의 내부 코드에 대응. 자바로 구성함 |
Expression (표현식) | 값을 출력 및 수식 출력 Expression Language (EL) 로 대체 표현 가능 |
Declaration (선언부) | 서블릿의 멤버 변수, 멤버 메소드를 표현 |
Comment (주석) | 주석 처리 |
Scripting 요소 이해
// 메타 정보 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> // 선언부 <%! // 멤버 변수 int age = 0; // 멤버 메소드 public int getAge(){ return age; } %> //
Scriptlet (doGet(), doPost() 의 구현 부분에 들어가는 코드) <% age++; %> // 주석 <%-- 나이 출력 --%> //
Expression (값을 출력한다) <%=age%> // 1 출력 |
directive 요소 이해
directive : 웹 컨테이너가 JSP 페이지를 서블릿 클래스로 변환 할 때 필요한 여러 가지 정보(메타 데이터)들을 기술하기 위해 사용하는 문법이다.
구성요소
요소 | 개요 |
<%@ page ..... %> | 서블릿 변환에 필요한 모든 정보가 포함됨 |
<% @include ... %> | JSP 페이지 내에 다른 JSP 페이지 삽입 |
<% @taglib ... %> | - JSTL 표현을 위한 코드 - MVC 모델2 방식에서 JSP 를 View 처리 시에 자바 없이 처리 가능한 방식 |
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" import="java.util.*" %> <% /* 자바의 기본 패키지 : java.lang.* 를 제외한 패키지는 수동으로 import 시켜 주어야 한다. 그렇기 때문에 위와 같이 page 지시자에서 import 를 시켜주면 해결된다. */ Date date = new Date(); System.out.println(d.getTime()); %> |
내장 객체(변수) 이해
내장 객체(변수) : 선언 및 초기화 되지 않아도 사용이 되는 변수이며 웹 컨테이너가 JSP 페이지를 서블릿 클래스로 변환시킬 때 자동으로 선언해준다.
Ex) request.getParameter("age") -> 내장 객체
요소 | 개요 |
request | doGet() / doPost() 메소드의 첫번째 파라미터 |
response | doGet() / doPost() 메소드의 두번째 파라미터 |
out | 웹 브라우저가 HTML 코드를 출력하는 기능 |
application | JSP 페이지가 속한 웹 어플리케이션에 관련된 기능 |
config | JSP 페이지의 구성 정보를 가져오는 기능 (web.xml) |
pageContext | JSP 페이지 범위 내에서 사용할 수 있는 데이터 저장 기능 |
session | 세션에 관련된 기능 |
page | JSP 페이지로부터 생성된 서블릿 |
exception | 입센션 객체 |
반응형