개발/Web

[WEB] JSP 구성 요소

hojak99 2017. 5. 16. 18:24
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
입센션 객체


반응형