은은하게 코드 뿌시기

[JSP]page 지시자 본문

웹/JSP

[JSP]page 지시자

은은하게미친자 2022. 8. 2. 16:01
728x90

* page는 반드시 소문자로 써야하고 닫는괄호는 %> 

 

* Page 지시자  속성 종류

1. info

2. language

3. contextType

4.extends

5.import

6.session

7.buffer

8.autoFlush

9.isThreadsafe

10.trimDirectiveWhitespaces

11. pageEncoding

12. isErrorPage

13. errorPage

 

 

info 속성

: 페이지를 설명해주는 문자열 , 속성값의 내용이나 길이 제한이 없다. 설정하지 않더라도 페이지의 처리내용에는 아무런 영향을 주지 않는다.

<%@ page info="jspstudy"%>

 

language 속성 

: jsp 페이지의 스크립트 요소에서 사용할 언어를 지정, 만약 지정하지 않으면 기본값으로 java가 지정됩니다.

<%@ page language="java"%>

 

MIME(Multi-Purpose Internet Main Extensions) : 마임?

: 인터넷 전자우편 프로토콜, 즉 SMTP를확장하여 오디오, 비디오,이미지, 응용프로그램 등 여러가지 종류의 데이터 파일을 주고 받을 수있도록 기능이 확장된 프로토콜.

서버들은 어떤 웹정손에서라도 시작부분에 MIME헤더를 집어 넣으며, 클라이언트들은 헤더가 나타내는 데이터형식에 따라 이를 브라우저에서 실행함.

contextType 속성 

: 페이지의 내용이 어떤 형태로 출력 할 것인지 mime 형식으로 브라우저에게 알려주는 역할을 하는 속성, 지정할 속성값 으로는 text/html, text/plain, text/xml, text/gif 등 여러값이 있으며 기본값은 text/html의 mime형식입니다.

<%@ page contextType="text/html"%>

+ 추가적으로 문자형식 (charset)을  지정하는데 사용 할 수 있음

 

<%@ page contentType="text/html; charset=UTF-8" %>

 

extends 속성

: jsp 페이지는 jsp container에 의해서 servlet으로 변환된후 처리결과를 웹 서버에 전송하여 클라이언트에 보여주게 됩니다. 이때 extends 속성은 jsp페이지가 servlet으로 변환 되는 시점에서 자신이 상속받을 클래스를 지정할 때 사용됩니다. 하지만 jsp 컨테이너가 알아서 적절한 클래스들을 상속시켜 변환해주므로 사용할 일은 거의 없습니다.

<%@ page extends="com.jspstudy.Diretive" %>
//com.japstudy.Directive 클래스를 상속을 하겠다는 의미입니다.

 

import 속성 

: jsp페이지 내에서 package 이름을 지정하지 않고 다른 클래스를 가져와서 사용하는 경우, import 속성을 지정할 때 쓰임, page 지시자 중에서 유일하게 중복 사용이 가능합니다.

<%@ page import="java.util.*"%>
<%@ page import="mvc.model.BoardDTO"%>

 

session 속성

: jsp페이지가 httpSession을 사용할 지 여부를 지정하는 속성. 

true 일경우 - 현재 페이지가 세션을 유지하고 존재 하지 않을 경우 새로운 세션을 생성하여 연결

false 일경우 - 세션에 연결되지 않습니다.

<%@ page session="false" %>

 

buffer 속성  

: jsp 출력크기를 킬로바이트 단위로 지정하는 속성 , 기본값은 8KB, 버퍼 값을 none으로 지정하면 출력버퍼를 사용하지 않고 jsp페이지의 출력 내용을 즉시 브라우저로 전달하겠다는 의미.

<%@ page buffer="16kb" %>

autoFlush 속성 

: jsp페이지의 내용들이 브라우저에 출력되기 전에 버퍼에 다 채워질 경우 저장되어 있는 내용들을 어떻게 처리할 지 결정하는 것입다.기본값 true, true일 경우 - 버퍼가 다찼을 경우 자동적으로 비워지게 됨

buffer 속성이 none일 경우 버퍼를 사용하지 않고, 자동적으로 출력 할 수 없게끔 설정 되기 때문에 autoFlush속성을 false로 지정 할 수 없습니다.

<%@ page autoFlush="false" %>

 

isThreadSafe 속성 

: jsp페이지가 동시에 여러 브라우저의 요청을 처리 할 수있는 지 여부를 설정, 기본값은 true,

false로 설정시 요청을 동시에 처리하지 않고 요청한 순서대로 처리

<%@ page isThreadSafe="false" %>

 

trimDirectiveWhitespaces 속성 

: 디렉티브나 스크립트 코드로 인하여 발생되는 줄 바꿈 공백문자를 제거하는 기능을 하는 속성, 기본값은 false,

true로 설정하면 불필요한 줄바꿈 공백문자가 제거 됩니다.

<%@ page trimDirectiveWhitespaces="true" %>

 

errorPage 속성 

: jsp페이지 페이지 처리시 예외가 발생할 경우 자신이 예외를 처리하지 않고 다른페이지에서 처리하도록 지정할 수있는 속성. 속성값으로는 직접 예외를 처리할 페이지의 로컬 url을 적어주면 됩니다.

<%@ page errorPage="Error.jsp" %>

 

isErrorPage 속성 

: 현재 jsp 페이지가 에러처리를 담당하는 페이지 아닌지 여부를 지정 할 때 사용 되는 속성

에러처리를 위한 페이지라면 속성값을 true 로 설정 해야 합니다. 기본값은 false, 에러를 처리하지 않는 페이지라면 설정할 필요가 없습니다.

<%@ page isErrorPage="true" %>

 

pageEncoding속성 

: jsp페이지에서 사용하는 character의 인코딩을 지정할 떄 사용됩니다. pageEncoding속성이 생략 되어있을 때 contestType속성의 charset의 값을 사용하게 됩니다.

<%@ page pageEncoding="UTF-8" %>

 

728x90
Comments