본문 바로가기
웹 프로그래밍/Servlet & JSP

JSP 태그 #1 - JSP 태그 종류 및 page 지시어

by 안드레날린 2022. 4. 17.

JSP 태그 종류

종류 시작 태그 종료 태그 설명
지시어 태그 <%@ %> JSP 페이지의 전체 속성을 지시
선언 태그 <%! %> JSP 페이지에서 사용되는 변수와 메소드 선언
표현식 태그 <%= %> 변수의 값이나 메소드의 결과를 출력
스크립트릿 태그 <% %> 사용할 스크립트 언어를 설정(Java 포함)
주석문 태그 <%-- --%> 주석
액션 태그 <jsp:action> </jsp:action> Bean 사용 및 연결 동작과 관련된 기능을 이용

 

지시어 태그

JSP 페이지가 컨테이너에 정보를 보내기 위한 태그이다.

<%@ page %> : JSP 페이지의 전체 속성을 지정

<%@ include %> : 다른 페이지를 현재 페이지에 포함

<%@ taglib %> : 태그 라이브러리의 태그 사용

 

page 지시어 특징

페이지 내에서 여러 번 사용 될 수 있음

페이지의 어느 위치에 놓여도 되지만 일반적으로는 페이지의 첫 줄에 위치함

페이지 내에서 같은 속성이 두 번이상 사용될 수 없음(단, import 속성만 예외)

 

page 지시어 속성

<%@ page 속성 %>

속성 = [language=scriptingLanguage]
       [contentType=contentInfo]
       [import=importList]
       [extends=className]
       [session=true|false]
       [buffer=none|size(kb)]
       [autoFlush=true|false]
       [isThreadSafe=true|false]
       [info=infoText]
       [errorPage=errorURL]
       [isErrorPage=true|false]
       [isELIgnored=true|false]
       [isScriptingenabled=true|false]

 

<%@ page language="java" %>

 - language default value : "java"

 

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

 - contentType default value : "text/html"

 - charset default value : "ISO-8859-1"

 

<%@ page import="패키지명.클래스명" %>

 - 콤마(',')로 구분해서 여러개를 한 번에 선언해도 된다.

  : <%@ page import="java.util.*,java.io.*,java.net.* %>

 - 아래와 같이 여러번 선언 할 수 있다.

  : <%@ page import="java.util.* %>

  : <%@ page import="java.io.* %>

  : <%@ page import="java.net.* %>

 

<%@ page extends="패키지명.클래스명" %>

 - 서블릿으로 변환된 클래스가 상속받을 클래스를 지정

 

<%@ page session="true|false" %>

 - JSP 페이지가 session 내장 객체를 사용할 지 여부(false 이면 session 객체를 사용할 수 없음)

 - session default value="true"

 

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

 - out 내장 객체가 웹 브라우저에 내용을 출력할 때 사용하는 버퍼의 크기를 설정

 - buffer default value="8kb"

 - buffer를 사용하지 않으려면 "none"으로 설정

 

<% page autoFlush="true|false" %>

 - 버퍼가 다 찰 경우 버퍼에 저장되어 있는 내용을 어떻게 처리할지를 결정

 - true인 경우 버퍼가 가득 차면 버퍼에 있던 내용을 브라우저에 전송되고 버퍼는 자동으로 비운다.

 - false인 경우 버퍼가 가득 차면 예외 페이지를 출력(아래 그림 참고)

 - buffer="none" 이고, autoFlush="false" 이면 버퍼가 다 차는 순간 두 번째 그림과 같이 예외 발생한다.

  : buffer="none" 이라면 autoFlush 값은 반드시 "true"로 설정해야 한다.

 - autoFlush default value="true"

<%@ page contentType="text/html;charset=utf-8" %>
<%@ page buffer="1kb" %>
<%@ page autoFlush="false" %>

<html>
<head>
<title></title>
</head>
<body>
<%
    for(int i=0; i<1000; i++)
	{
		out.println(i);
	}
%>
</body>
</html>

 

<% page autoFlush="false" %> 인 경우 예외 발생 화면

 

<% page buffer="none" %> <% page autoFlush="false" %> 인 경우 예외 발생 화면

 

<% page isThreadSafe="true|false" %>

 

<% page info="JSP 페이지를 설명" %>

 

<% page errorPage="error.jsp" %>
 - JSP 페이지가 실행될 때 에러가 발생하면 지정한 페이지가 실행된다.

 

<% page isErrorPage="true|false" %>
 - JSP 페이지는 에러 페이지로 사용된다.
 - isErrorPage default value="false"

 

<% page isELIgnored="true|false" %>
 - JSP 2.0에서 적용된 Expression Language (EL), ${...}. 표현의 사용유무를 결정
 - isELIgnored default value="true"

 

<% page isScriptingEnabled="true|false" %>
 - 스크립트릿(Java 프로그램) 및 EL 표현식의 사용유무를 결정
 - isScriptingEnabled default value="true"

 

 

'웹 프로그래밍 > Servlet & JSP' 카테고리의 다른 글

JSP 태그 #2 - JSP 태그 종류 및 include 지시어  (0) 2022.04.18
JSP 페이지 작성과 실행  (0) 2022.04.17
JSP 시작하기  (0) 2022.04.17
JSP 개요  (0) 2022.04.17