JSP (2)
지시자(Directive) 태그
지시자(Directive) 태그는 현재의 JSP 페이지 자체에 대해서 JSP 엔진 및 컨테이너에게 각종 처리정보를 전달하고 수행해야 할 기능을 정하는 역할을 한다.
1. page Directive 태그
컨테이너에게 현재 JSP 페이지를 어떻게 처리할 것인가에 대한 정보를 제공하는데 사용된다.
<%@ page contentType="text/html; charset=utf-8"%>
2. include Directive 태그
여러 JSP페이지에서 공통적인 내용이 있을 때 매번 공통적인 내용을 작성하지 않고 파일로 저장 후 필요할 때 JSP 페이지에서 파일을 삽입하여 사용할 수 있다.
<%@ include file="header.jsp" %>
3. taglib Directive 태그
사용자에 의해서 만든 커스텀 태그(custom tag)를 이용할 때 사용되며, JSP 페이지 내에 불필요한 자바 코드를 줄일일 수 있다.
<%@ taglib uri="/WEB_INF/taglib.tld" prefix="soccer"%>
1) Page Directive
속성으로 현재 JSP페이지가 어떻게 처리되어야 하는지를 컨테이너에게 알려주는 역할을 한다.
1) contentType 속성
contentType은 JSP 내용의 타입(html,xml)을 브라우저에 알려주며, 캐릭터셋을 지정할 때 사용하는 속성이다.
<%@ page contentType="text/html; charset=utf-8" %>
2) import 속성
관련된 패키지나 클래스를 지정하여 활용하고자 하는 의도를 JSP 엔진 및 컨테이너에게 알려주는 역할이다.
<%@ page import="java.util.*, java.sql.*, java.io.File" %>
3) errorPage와 isErrorPage 속성
-
errorPage 속성
이 속성이 지정된 JSP 페이지 내에서 Exception이 발생하는 경우 Exception을 처리할 페이지를 지정하기 위해서 사용.
errorPage 속성은 jsp 컨테이너가 jsp 페이지 처리 도중 에러가 발생했을 경우 보여줄 페이지를 설정하는 것.
설정된 페이지로 forward로 이동하게 됨. -
isErrorPage 속성
isErrorPage 속성은 다른 jsp페이지의 에러페이지로 사용하게 될 것인지를 결정하는 것.
디폴트는 false이며 true로 설정하면 exeption 기본객체에 접근할 수 있음.
isErrorPage는 위와 같은 방법으로 새롭게 실행되는 페이지에 지정할 속성으로 현재 페이지가 Execption 처리를 위한 페이지임을 컨테이너에 알려주기 위한 속성임.
4) session 속성
기본 값은 'true' 이므로, session 속성은 따로 설정할 필요가 없음.
값을 'false'로 지정하면 웹 브라우저에서 session을 사용할 수 없음.
session객체는 웹 브라우저와 Tomcat 사이에 지속적으로 필요한 정보를 저장한다.
<%@ page session="true" %>
- session 객체는 사용자가 로그인을 한 이후 로그인이 지속되는지에 관한 정보를 저장한다.
- 쇼핑몰에서 장바구니에 담긴 아이템의 정보 등을 저장해 놓을 때 session 객체를 활용한다.
- session 속성은 바로 이러한 기능을 활성화하거나 해지하는 목적으로 활용한다.
2) Include Directive
JSP에서 현재의 페이지로 다른 페이지를 포함하는 방법은 <jsp:include> Action 태그를 쓰거나 include Directive를 사용하는 것이다.
<%@ page include file="포함할 파일" %>
- JSP 파일을ㄹ java 파일로 변환하기 전에 iniclude 지시문에서 지정한 파일의 내용을 그대로 현재 위치에 삽입시킨 후 서블릿 코드로 변환한다.
- 포함하는 jsp와 포함되는 jsp가 합쳐져서 새로운 페이지가 생성되고 새로운 페이지를 컴파일하여 실행된다.
- 정적인 특징을 갖는다.
Include Directive의 활용
include 지시문은 다음과 같이 두 가지 용법으로 사용된다.
- 많은 JSP 페이지에서 자주 사용되는 공용 변수 지정
- 많은 JSP 페이지에서 간단하면서도 중복되어 사용되는 텍스트나 문구
(e.g. 날짜나 저작권 표시, logo화면, 메뉴 등)
'Web' 카테고리의 다른 글
JSP (3) - JSP 기본객체 (0) | 2019.09.29 |
---|---|
JSP (1) (0) | 2019.09.29 |
Servlet (4) - Session (0) | 2019.09.28 |
Servlet (3) - Cookie (0) | 2019.09.28 |
Servlet (2) (0) | 2019.09.28 |