-
디렉티브 태그 - 지시어
-
Page 디렉티브 태그
-
Page 디렉티브 태그의 속성
-
Language 속성
-
contentType 속성
-
pageEncoding 속성
-
import 속성
-
session 속성
-
session
-
errorPage 속성
-
isErrorPage 속성
-
buffer 속성
-
autoFlush 속성
-
include 디렉티브 태그의 기능과 사용법
-
include 디렉티브 태그
-
include 액션 태그
-
taglib 디렉티브 태그의 기능과 사용법
-
taglib 디렉티브 태그(tag Library)
-
JSTL(JSP Standard Tag Library)
-
<c:forEach>
디렉티브 태그 - 지시어
- 태그 형태를 이용하여 JSP 파일의 속성 및 특별한 지시사항 기술
- JSP 컨테이너에게 해당 JSP 페이지를 어떻게 처리할 것인지를 설정하는 태그
- 일반적으로 이클립스 템플릿에 의해 자동 작성됨
<%@ directives 속성 = “속성 값” %>
- 대소문자 구분, 속성 값 기술시 반드시 큰 따옴표로 사용 !
PPT 3장 사진
Page 디렉티브 태그
- 현재 JSP 페이지에 대한 정보를 설정하는 태그
- JSP 페이지의 어디에서든 선언할 수 있지만 일반적으로 JSP 페이지의 최상단에 선언하는 것을 권장
Page 디렉티브 태그의 속성
Language 속성
- JSP 페이지의 스크립트 요소에서 사용할 프로그래밍 언어를 설정하는데 사용
- 기본 값은 JAVA(기본 값)
<%@ page language=”java” %>
⇒ 이클립스에서 JSP 파일 생성 시 이클립스에서 자동으로 만들어줌
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
contentType=text/html ⇒ JSP 페이지 내용을 html 형태로 출력 지정 하는 구문
charset=UTF-8 ⇒ UTF-8 문자열 세트로 지정하는 구문
contentType 속성
- 현재 JSP 페이지를 클라이언트에서 처리하기 위한 콘텐츠(문서) 유형(MIME-type)을 설정하는 데 사용 → JSP 페이지 내용을 어떤 형태로 출력할까 지
<%@ contentType=”text/xml; charset=utf-8”%> 로 지정 시 응답 형태는 xml 형태로 출력
pageEncoding 속성
- 현재 JSP 페이지의 문자 인코딩 유형 설정( 기본 값 : ISO-8859-1 )
- JSP 2.0 스펙에 추가된 속성임. 이전버전은 인식 불가
- 이전 버전 위해 contentType에서 같이 지정
- 이클립스의 프로젝트 파일 저장 인코딩 방식도 동일하게 설정 해야 함
- 한글 사용 시 UTF-8 추천
<%@ page pageEncoding = “UTF-8” %> == <%@ page contentType=”text/html; charset=UTF-8” %>
JSP 2.0 이후에는 pageEncoding 속성만 사용해도 되나 이전 버전과의 호환성 고려해 contentType에서 같이 설정 하기도함
import 속성
- 현재 JSP 페이지에서 사용할 자바 클래스 패키지들을 지정
- 자바의 import 문과 달리 쉼표(,)로 구분해 여러 패키지를 한 번에 지정 가능
- 또는 하나의 JSP 페이지에 import 속성 여러 번에 나눠 기술하는 것도 가능
[import 속성 사용 예 : 자바 패키지 java.io.* 설정]
<%@ page import=”java.io.*” %>
[import 속성의 다중 자바 클래스 참조 예: java.io.와 java.lang. 패키지 설정]
<%@ page import=”java.io., java.lang.” %>
==
<%@ page import=”java.io.*” %>
<%@ page import=”java.lang.*” %>
JSP 에서 디폴트로 import되는 클래스
- java.lang.*
- java.servlet.*
- java.servlet.http.*
- java.servlet.jsp.*
session 속성
- 현재 JSP 페이지의 세션 사용 여부를 설정하는 데 사용
- 속성 값
- true(디폴트 값) 세션 자동으로 사용
- false
- 해당 JSP 페이지에서 내장 객체인 session 변수를 사용할 수 없다는 의미
- 해당 페이지에 대해 세션을 유지 관리할 수 없음
- 보통 true 상태 유지하니 기본 값 그대로 두고 사용하는 경우가 일반적
[session 속성 사용 예 : session 내장 객체 사용을 위한 true 설정]
<%@ page session=”true” %>
session
- 우리가 사용하는 웹 서비스는 클라이언트가 웹 서버에 요청하고 응답하면 서로간의 연결이 끊어진다
- 웹 브라우저를 닫기 전까지 웹 페이지를 이동하더라도 사용자의 정보가 웹 서버에 보관되어 있어 사용자 정보를 잃지 않음
→ 세션 : 웹 서버가 특정 클라이언트의 로그인 상태. 장바구니에 담긴 정보 등을 한시적으로 유지
errorPage 속성
- 현재 JSP 페이지에서 발생한 오류를 처리하는 별도의 JSP 페이지를 기술
[errorPage 속성 사용 예 : 이동할 오류 페이지 MyErrorPage.jsp 설정]
<%@ page errorPage=”MyErrorPage.jsp” %>
→ 오류가 발생하면 MyErrorPage.jsp로 이동됨
사용목적 : 오류처리를 전담하는 JSP 페이지를 지정하여 일관성 있는 오류처리 가능, 서버 단에서의 오류를 보여주지 않으려고
isErrorPage 속성
- 현지 JSP 페이지는 오류 처리를 위한 전용 페이지임을 알림
[isErrorPage 속성 사용 예: 현재 JSP 페이지가 오류 페이지가 되도록 true 설정]
<%@ page isErrorPage=”true” %>
- java의 예외처리위한 exception 내장 객체 사용하려면 isErrorPage 속성 지정 해야함
buffer 속성
- 현재 JSP 페이지의 출력 버퍼 크기를 설정하는 데 사용
- JSP 수행한 결과를 서버에서 버퍼링해서 클라이언트로 전송. 이때 버퍼의 크기
- 속성 값 : NONE과 ‘버퍼 크기’로 설정
- 버퍼 크기 : 출력 버퍼에 먼저 기록한 후 클라이언트 웹 브라우저로 보냄
- 기본값 : 8kb
- 일반적으로는 변경 불필요. 많이 설정하는 속성은 아니다.
※ 버퍼링(buffering) 프로세서의 처리 속도와 IO 장치의 속도 차이를 보상하기 위해 데이터를 모아서 입출력을 처리하는 방법
<%@ page buffer=”값 or none” %>
autoFlush 속성
- 버퍼를 자동으로 비울 것인지를 지정
- 속성 값 : true(기본값)
- 버퍼가 차면 자동으로 웹 브라우저에 출력. 기본값 그대로 둔다
[autoFlush 속성 사용 예: 출력 버퍼 자동 비우기를 위한 true 설정]
<%@ page autoFlush = “true” %>
- 속성값 : false
- 버퍼가 다 차기 전에 프로그래머가 수동으로 직접 버퍼를 비워야 출력 가능
- 일부러 사용을 제한할 목적이 아닌 이상 설정 불필요
include 디렉티브 태그의 기능과 사용법
include 디렉티브 태그
- 현재 JSP 페이지의 특정 영역에 외부 파일의 내용을 포함하는 태그
- 현재 JSP 페이지에 포함할 수 있는 외부 파일
- HTML, JSP, 텍스트 파일
- include 디렉티브 태그는 JSP 페이지 어디에서든 선언 가능
<%@ include file=”파일명” %>
- file 속성 값
- 현재 JSP 페이지에 포함할 내용을 가진 외부 파일명
- 이때 외부 파일이 현재 JSP 페이지와 같은 디렉터리에 있으면 파일명 만 설정하고,
- 그렇지 않으면 전체 URL(또는 상대 경로)을 설정
- 공통으로 들어가는 부분(예 : footer 부분)을 따로 빼놓고 다른 모든 페이지들에 포함시킨다. = 모듈화
- 주의 : include 되는 페이지는 포함될 HTML 기본 태그 관련 부분이 생략될 수 있다.
- 해당 파일을 포함 시킨 후 컴파일 한다.
- 포함할 파일의 내용이 자주 바뀐다면 다시 현재 JSP 문서를 자바로 변환 후 컴파일 해야한다. 자주 변경되면 실용성이 떨어짐
- 여러 페이지에 공통으로 들어가는 내용 중 잘 바뀌지 않는 정적 페이지를 포함할 때 유용하다 → 동적 페이지는 include 액션 태그 사용
- 여러 정보의 조합으로 한 화면 구성할 때 유용
- 장점 : 각 기능 혹은 화면을 모듈화하여 구성/재활용 용이. 유지, 보수가 편리하다.
include 액션 태그
컴파일전에 먼저 삽입을 한 후에 컴파일을 진행 하게 된다.
taglib 디렉티브 태그의 기능과 사용법
taglib 디렉티브 태그(tag Library)
- JSP 기능을 확장하기 위해 만들어진 표현언어, JSTL, 사용자 정의 태그(custom tag)등 태그 라이브러리를 설정하는 지시어 태그
<%@ taglib uri=”경로” prefix=”태그 식별자”%>
- uri : 사용자 태그들에 대한 정보를 담고 있는 TLD(Tag Library Descriptor) 파일 경로 지정
- prefix : 현재 JSP 에서 custom tag를 사용하기 위한 이름
JSTL core 라이브러리 사용위한 taglib 디렉티브 태그
<%@ taglib prefix=”c” uri=”http://java.sun.com/jsp/jstl/core” %>
JSTL(JSP Standard Tag Library)
- JSP 에서 스크립트릿(자바 코드 블록)을 사용하지 않고 HTML 형식을 유지하면서 조건문, 반복문, 간단한 연산과 같은 기능을 손쉽게 사용할 수 있도록 지원하기 위해 만들어진 표준 커스텀 태그 라이브러리
- JSTL은 태그가 제공하는 기능의 성격에 따라 5가지 주요 라이브러리로 구분됨
- core 라이브러리
- 변수 처리, 흐름 제어, URL 관리, 출력 등 가장 기본적인 기능을 구현해둔 라이브러리
<c:forEach>
- 화면에 데이터를 반복해서 출력할 때 주로 사용
- 자바의 for 문과 같은 개념이지만 커스텀 태그 특성상 정밀한 설정이 가능하지 않기 때문에 제공되는 속성을 잘 활용해야 함
- 진행 상태를 확인하기 위해 index, count 등을 지원하는 varStatus를 제공함
- 사용 형식
<c:forEach [var="참조 객체"] [varStatus="상태 정보 변수"] begin="시작" end="종료"
[step="반복 단계 증가 값, 1이 기본"]>
반복 출력되는 부분
< /c:forEach>
- var : 배열. 리스트 등 집합형 객체
- varStatus : 반복 진행 상황을 참조하기 위한 객체
디렉티브 태그 - 지시어
- 태그 형태를 이용하여 JSP 파일의 속성 및 특별한 지시사항 기술
- JSP 컨테이너에게 해당 JSP 페이지를 어떻게 처리할 것인지를 설정하는 태그
- 일반적으로 이클립스 템플릿에 의해 자동 작성됨
<%@ directives 속성 = “속성 값” %>
- 대소문자 구분, 속성 값 기술시 반드시 큰 따옴표로 사용 !
PPT 3장 사진
Page 디렉티브 태그
- 현재 JSP 페이지에 대한 정보를 설정하는 태그
- JSP 페이지의 어디에서든 선언할 수 있지만 일반적으로 JSP 페이지의 최상단에 선언하는 것을 권장
Page 디렉티브 태그의 속성
Language 속성
- JSP 페이지의 스크립트 요소에서 사용할 프로그래밍 언어를 설정하는데 사용
- 기본 값은 JAVA(기본 값)
<%@ page language=”java” %>
⇒ 이클립스에서 JSP 파일 생성 시 이클립스에서 자동으로 만들어줌
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
contentType=text/html ⇒ JSP 페이지 내용을 html 형태로 출력 지정 하는 구문
charset=UTF-8 ⇒ UTF-8 문자열 세트로 지정하는 구문
contentType 속성
- 현재 JSP 페이지를 클라이언트에서 처리하기 위한 콘텐츠(문서) 유형(MIME-type)을 설정하는 데 사용 → JSP 페이지 내용을 어떤 형태로 출력할까 지
<%@ contentType=”text/xml; charset=utf-8”%> 로 지정 시 응답 형태는 xml 형태로 출력
pageEncoding 속성
- 현재 JSP 페이지의 문자 인코딩 유형 설정( 기본 값 : ISO-8859-1 )
- JSP 2.0 스펙에 추가된 속성임. 이전버전은 인식 불가
- 이전 버전 위해 contentType에서 같이 지정
- 이클립스의 프로젝트 파일 저장 인코딩 방식도 동일하게 설정 해야 함
- 한글 사용 시 UTF-8 추천
<%@ page pageEncoding = “UTF-8” %> == <%@ page contentType=”text/html; charset=UTF-8” %>
JSP 2.0 이후에는 pageEncoding 속성만 사용해도 되나 이전 버전과의 호환성 고려해 contentType에서 같이 설정 하기도함
import 속성
- 현재 JSP 페이지에서 사용할 자바 클래스 패키지들을 지정
- 자바의 import 문과 달리 쉼표(,)로 구분해 여러 패키지를 한 번에 지정 가능
- 또는 하나의 JSP 페이지에 import 속성 여러 번에 나눠 기술하는 것도 가능
[import 속성 사용 예 : 자바 패키지 java.io.* 설정]
<%@ page import=”java.io.*” %>
[import 속성의 다중 자바 클래스 참조 예: java.io.와 java.lang. 패키지 설정]
<%@ page import=”java.io., java.lang.” %>
==
<%@ page import=”java.io.*” %>
<%@ page import=”java.lang.*” %>
JSP 에서 디폴트로 import되는 클래스
- java.lang.*
- java.servlet.*
- java.servlet.http.*
- java.servlet.jsp.*
session 속성
- 현재 JSP 페이지의 세션 사용 여부를 설정하는 데 사용
- 속성 값
- true(디폴트 값) 세션 자동으로 사용
- false
- 해당 JSP 페이지에서 내장 객체인 session 변수를 사용할 수 없다는 의미
- 해당 페이지에 대해 세션을 유지 관리할 수 없음
- 보통 true 상태 유지하니 기본 값 그대로 두고 사용하는 경우가 일반적
[session 속성 사용 예 : session 내장 객체 사용을 위한 true 설정]
<%@ page session=”true” %>
session
- 우리가 사용하는 웹 서비스는 클라이언트가 웹 서버에 요청하고 응답하면 서로간의 연결이 끊어진다
- 웹 브라우저를 닫기 전까지 웹 페이지를 이동하더라도 사용자의 정보가 웹 서버에 보관되어 있어 사용자 정보를 잃지 않음
→ 세션 : 웹 서버가 특정 클라이언트의 로그인 상태. 장바구니에 담긴 정보 등을 한시적으로 유지
errorPage 속성
- 현재 JSP 페이지에서 발생한 오류를 처리하는 별도의 JSP 페이지를 기술
[errorPage 속성 사용 예 : 이동할 오류 페이지 MyErrorPage.jsp 설정]
<%@ page errorPage=”MyErrorPage.jsp” %>
→ 오류가 발생하면 MyErrorPage.jsp로 이동됨
사용목적 : 오류처리를 전담하는 JSP 페이지를 지정하여 일관성 있는 오류처리 가능, 서버 단에서의 오류를 보여주지 않으려고
isErrorPage 속성
- 현지 JSP 페이지는 오류 처리를 위한 전용 페이지임을 알림
[isErrorPage 속성 사용 예: 현재 JSP 페이지가 오류 페이지가 되도록 true 설정]
<%@ page isErrorPage=”true” %>
- java의 예외처리위한 exception 내장 객체 사용하려면 isErrorPage 속성 지정 해야함
buffer 속성
- 현재 JSP 페이지의 출력 버퍼 크기를 설정하는 데 사용
- JSP 수행한 결과를 서버에서 버퍼링해서 클라이언트로 전송. 이때 버퍼의 크기
- 속성 값 : NONE과 ‘버퍼 크기’로 설정
- 버퍼 크기 : 출력 버퍼에 먼저 기록한 후 클라이언트 웹 브라우저로 보냄
- 기본값 : 8kb
- 일반적으로는 변경 불필요. 많이 설정하는 속성은 아니다.
※ 버퍼링(buffering) 프로세서의 처리 속도와 IO 장치의 속도 차이를 보상하기 위해 데이터를 모아서 입출력을 처리하는 방법
<%@ page buffer=”값 or none” %>
autoFlush 속성
- 버퍼를 자동으로 비울 것인지를 지정
- 속성 값 : true(기본값)
- 버퍼가 차면 자동으로 웹 브라우저에 출력. 기본값 그대로 둔다
[autoFlush 속성 사용 예: 출력 버퍼 자동 비우기를 위한 true 설정]
<%@ page autoFlush = “true” %>
- 속성값 : false
- 버퍼가 다 차기 전에 프로그래머가 수동으로 직접 버퍼를 비워야 출력 가능
- 일부러 사용을 제한할 목적이 아닌 이상 설정 불필요
include 디렉티브 태그의 기능과 사용법
include 디렉티브 태그
- 현재 JSP 페이지의 특정 영역에 외부 파일의 내용을 포함하는 태그
- 현재 JSP 페이지에 포함할 수 있는 외부 파일
- HTML, JSP, 텍스트 파일
- include 디렉티브 태그는 JSP 페이지 어디에서든 선언 가능
<%@ include file=”파일명” %>
- file 속성 값
- 현재 JSP 페이지에 포함할 내용을 가진 외부 파일명
- 이때 외부 파일이 현재 JSP 페이지와 같은 디렉터리에 있으면 파일명 만 설정하고,
- 그렇지 않으면 전체 URL(또는 상대 경로)을 설정
- 공통으로 들어가는 부분(예 : footer 부분)을 따로 빼놓고 다른 모든 페이지들에 포함시킨다. = 모듈화
- 주의 : include 되는 페이지는 포함될 HTML 기본 태그 관련 부분이 생략될 수 있다.
- 해당 파일을 포함 시킨 후 컴파일 한다.
- 포함할 파일의 내용이 자주 바뀐다면 다시 현재 JSP 문서를 자바로 변환 후 컴파일 해야한다. 자주 변경되면 실용성이 떨어짐
- 여러 페이지에 공통으로 들어가는 내용 중 잘 바뀌지 않는 정적 페이지를 포함할 때 유용하다 → 동적 페이지는 include 액션 태그 사용
- 여러 정보의 조합으로 한 화면 구성할 때 유용
- 장점 : 각 기능 혹은 화면을 모듈화하여 구성/재활용 용이. 유지, 보수가 편리하다.
include 액션 태그
컴파일전에 먼저 삽입을 한 후에 컴파일을 진행 하게 된다.
taglib 디렉티브 태그의 기능과 사용법
taglib 디렉티브 태그(tag Library)
- JSP 기능을 확장하기 위해 만들어진 표현언어, JSTL, 사용자 정의 태그(custom tag)등 태그 라이브러리를 설정하는 지시어 태그
<%@ taglib uri=”경로” prefix=”태그 식별자”%>
- uri : 사용자 태그들에 대한 정보를 담고 있는 TLD(Tag Library Descriptor) 파일 경로 지정
- prefix : 현재 JSP 에서 custom tag를 사용하기 위한 이름
JSTL core 라이브러리 사용위한 taglib 디렉티브 태그
<%@ taglib prefix=”c” uri=”http://java.sun.com/jsp/jstl/core” %>
JSTL(JSP Standard Tag Library)
- JSP 에서 스크립트릿(자바 코드 블록)을 사용하지 않고 HTML 형식을 유지하면서 조건문, 반복문, 간단한 연산과 같은 기능을 손쉽게 사용할 수 있도록 지원하기 위해 만들어진 표준 커스텀 태그 라이브러리
- JSTL은 태그가 제공하는 기능의 성격에 따라 5가지 주요 라이브러리로 구분됨
- core 라이브러리
- 변수 처리, 흐름 제어, URL 관리, 출력 등 가장 기본적인 기능을 구현해둔 라이브러리
<c:forEach>
- 화면에 데이터를 반복해서 출력할 때 주로 사용
- 자바의 for 문과 같은 개념이지만 커스텀 태그 특성상 정밀한 설정이 가능하지 않기 때문에 제공되는 속성을 잘 활용해야 함
- 진행 상태를 확인하기 위해 index, count 등을 지원하는 varStatus를 제공함
- 사용 형식
<c:forEach [var="참조 객체"] [varStatus="상태 정보 변수"] begin="시작" end="종료"
[step="반복 단계 증가 값, 1이 기본"]>
반복 출력되는 부분
< /c:forEach>
- var : 배열. 리스트 등 집합형 객체
- varStatus : 반복 진행 상황을 참조하기 위한 객체