Web/JSP(Java Server Page)
[JSP] 태그, 디렉티브, 스크립트, 주석
opid
2013. 6. 27. 12:07

JSP 태그
1. 디렉티브(Directive)
2. 스크립트 요소(Scripting elements)
3. 주석
4. 액션(Action)
1. 디렉티브(Directive)
문서를 어떻게 처리할 것인지 나타내는 태그.
페이지와 관련된 정보를 JSP 콘테이너에 보내는 일종의 메세지.
<%@ 디렉티브 속성1= "값1" 속성2="값2" ... %>
디렉티브에는 page 디렉티브, include 디렉티브, taglib 디렉티브가 있다.
page 디렉티브 : 페이지와 관련된 다양한 속성, 기능을 지정.
속성 |
값 |
기본값 |
language |
스크립트 언어 이름 |
"java" |
contentType |
MIME 타입, 문자셋 |
"text/html;
charset=ISO-8859-1" |
info |
문자열 |
|
import |
클래스 또는 패키지 이름 |
|
session |
boolean 값 |
"true" |
buffer |
버퍼의 크기 or false |
"8kb" |
autoFlush |
boolean 값 |
"true" |
isThreadSafe |
boolean 값 |
"true" |
errorPage |
로컬 URL |
|
isErrorPage |
boolean 값 |
"false" |
extends |
클래스 이름 |
| 하나의 JSP 페이지에 여러 개의 page 디렉티브를 사용할 수 있지만, import 속성을 제외한 나머지 속성들을 같은 페이지에서 여러번 지정할 수 없다. => 중복 X
* contentType 속성
JSP 페이지가 생성하는 문서의 MIME(Multipurpose Internet Mail Extensions) 타입을 나타내는 데 사용.
JSP 페이지에서 사용하는 문자셋을 지정하는 데 사용.
* info 속성
페이지를 설명해주는 문자열, 일반적으로 제작자, 버전, 저작권 정보등을 포함시키는 것이 좋다.
* import 속성
자바를 스크립트 언어로 사용할 경우 자동적으로 java.lang, javax.servlet, javax.setvlet.http, java,setvlet.jsp 패키지를 import 한다.
* autoFlush 속성
버퍼가 다 찰 경우 어떻게 처리할 지를 지정한다. true이면, 출력 버퍼는 자동적으로 비워지고, 버퍼에 있던 내용을 요청한 웹 브라우저에 전송하기 위해서 HTTP 서버에 보내진다.
-> 만약 buffer 속성의 값이 "none"일 경우에는 "false"로 지정할 수 없다.
* errorPage 속성
catch하지 않은 에외가 발생할 경우, 보여줄 페이지 설정.
속성 값이 '/'로 시작하면 절대 URL, '/'로 시작하지 않으면 상대 URL을 나타낸다. | |
2. 스크립트 요소(Scripting elements)
선언부(declarations), 스크립트릿(scriptlet), 표현식(expressions)로 구성되어 있다.
선언부(declarations) |
JSP 페이지에서 사용할 메소드와 변수를 정의. 같은 페이지 다른 스크립트 요소에서 참조 가능.
<%! 선언부 부분 %>
1) 변수의 선언
선언부에서 정의한 변수는 서블릿으로 변환할 때, 서블릿 클래스의 인스턴스 변수로 변환된다.
<%!
private int x = 0;
private int x = 0;
private String str = "opid";
private static int sum = 0; //인스턴스들이 공유하는 클래스 변수로 선언 가능.
%> |
2) 메소드의 선언
변수와 메소드를 함께 선언할 수도 있다.
<%!
int cul(int x, int y){
int sum = 0;
sum = x + y;
return sum;
}
%> |
3) JSP 페이지의 라이프사이클(Life-cycle)
초기화 이벤트나 소멸 이벤트가 발생할 경우 사용되는 메서드.
<%!
public void jspInit() {
// 초기화 이벤트와 관련된 처리.
}
public void jspDestory() {
// 소멸 이벤트와 관련된 처리.
}
%> |
|
표현식 |
선언부와는 달리 표현식의 결과를 문자열로 변경되어 출력 스트림에 추가한다.
<%= expression %> |
스크립트릿 |
일반적인 목적으로 스크립트 언어를 사용할 수 있도록 해 주는 부분이다.
<% 스크립트릿 부분 %> |
3. 주석
1) 내용주석 <!-- 주석 내용 -->
브라우저 화면에선 보이지 않지만 소스 보기를 통해서 확인할 수 있다.
내용 주석 안에 JSP 표현식을 포함할 수 있으며, 표현식의 값마다 다르게 생성되기 때문에 동적인 주석 내용을 만들수 있다.
2) JSP 주석 <%-- 주석 --%>
페이지가 생산하는 내용과는 상관없으며, 오직 JSP파일에서만 보여진다.
3) 스크립트 언어 주석 <% ... /* 주석 */ ... %>
자바의 '/*' 와 '*/', '//'를 사용하여 주석 처리를 할 수 있으며,
스크립트릿이나 선언부 뿐만 아니라 JSP표현식에서도 주석처리 한다. JSP 콘테이너에 의해 완전히 무시되지 않으며, 변환된 서블릿 코드에 나타난다.