디렉티브(Directive) : page, taglib, include
스크립트 : 스크립트릿(Scriptlet), 표현식(Expression), 선언부(Declaration)
표현언어(Expression Language)
기본 객체(Implicit Object) : request, response, session, application, page 등
정적인 데이터
표준 액션 태그(Action Tag)
커스텀 태그(Custom Tag)와 표준 태그 라이브러리(JSTL)
디렉티브
디렉티브 | 설명 |
page | JSP 페이지에 대한 정보를 지정한다. JSP가 생성하는 문서의 타입, 출력 버퍼의 크기, 에러 페이지 등 JSP 페이지에서 필요로 하는 정보를 입력한다. |
taglib | JSP 페이지에서 사용할 태그 라이브러리를 지정한다. |
include | JSP 페이지의 특정 영역에 다른 문서를 포함시킨다. |
page 디렉티브
속성 | 설명 | 기본값 |
language | JSP 스크립트 코드에서 사용되는 프로그래밍 언어를 지정한다. JSP 2.1 버전까지는 스크립트 언어로서 자바만을 지원하고 있다. | java |
contentType | JSP가 생성할 문서의 타입을 지정한다. | text/html |
import | JSP 페이지에서 사용할 자바 클래스를 지정한다. |
|
session | JSP 페이지가 세션을 사용할지의 여부를 지정한다. "true"일 경우 세션을 사용하고 "false"일 경우 세션을 사용하지 않는다. | true |
buffer | jsp 페이지의 출력 버퍼크기를 지정한다. "none"일 경우 출력 버퍼를 사용하지 않으며, "8kb"라고 입력할 경우 8킬로바이트 크기의 출력 버퍼를 사용한다. | 최소 8kb |
autoFlush | 출력 버퍼가 다 찼을 경우 자동으로 버퍼에 있는 데이터를 출력 스트림에 보내고 비울지의 여부를 나타낸다. "true"일 경우 버퍼의 내용을 웹 브라우저에 보낸 후 버퍼를 비우며, "false"일 경우 에러를 발생 시킨다. | true |
info | JSP 페이지에 대한 설명을 입력한다. |
|
errorPage | JSP 페이지를 실행하는 도중 에러가 발생할 때 보여줄 페이지를 지정한다. |
|
isErrorPage | 현재 페이지가 에러가 발생될때 보여지는 페이지인지의 여부를 지정한다. "true"일 경우 에러페이지이며, "false"일 경우 에러 페이지가 아니다. | false |
pageEncoding | JSP 페이지 자체의 캐릭터 인코딩을 지정한다. |
|
isELIgnored (2.0) | "true"일 경우 표현 언어를 지원하며, "false"일 경우 표현언어를 지원하지 않는다. 기본 값은 web.xml 파일이 사용하는 JSP 버전 및 설정에 따라 다르다. |
|
deferredSyntaxAllowedAsLiteral (2.1) | #{ 문자가 문자열 값으로 사용되는 것을 허용할지의 여부를 지정한다. | false |
trimDirectiveWhitespaces (2.1) | 출력 결과에서 템플릿 텍스트의 공백 문자를 제거할지의 여부를 지정한다. | false |
예 :
<%@ page contentType = "text/html; charset = euc-kr" %>
<%@ page import = "java.util.Calendar" %>
<%@ page trimDirectiveWhitespaces = "true" %>
스크립트
스크립트릿(Scriptlet) : 자바 코드를 실행한다.
표현식(Expression) : 값을 출력한다.
선언부(Declaration) : 자바 메서드(함수)를 만든다.
스크립트릿(Scriptlet)
JSP 페이지에서 자바 코드를 실행할 때 사용되는 코드의 블록.
예 :
<%
int sum = 0;
for (int i = 1; i<=10; i++){
sum = sum + i;
}
%>
표현식(Expression)
어떤 값을 출력 결과에 포함시키고자 할때 사용
예 :
<%=sum%>
선언부(Declaration)
JSP 페이지의 스크립트릿이나 표현식에서 사용할 수 있는 함수를 작성할 때 사용된다. 함수는 어떤 기능을 수행하는 단위로서 자바에서는 함수를 메서드라고 부른다. 선언부는 표현식외에도 스크립트릿에서도 호출할 수 있다.
예 :
<%!
public int multiply(int a, int b){
int c= a*b;
return c;
}
%>
기본객체
기본 객체 | 실제 타입 | 설명 |
request | javax.servlet.http.HttpServletRequest 또는 javax.servlet.ServletRequest | 클라이언트의 요청 정보를 저장한다. |
response | javax.servlet.http.HttpServletResponse 또는 javax.servlet.ServletResponse | 응답 정보를 저장한다. |
pagaContext | javax.servlet.jsp.PageContext | JSP 페이지에 대한 정보를 저장한다. |
session | javax.servlet.http.HttpSession | HTTP 세션 정보를 저장한다. |
application | javax.servlet.ServletContext | 웹 어플리케이션에 대한 정보를 저장한다. |
out | javax.servlet.jsp.JspWriter | JSP 페이지가 생성하는 결과를 출력할때 사용되는 출력 스트림이다. |
config | javax.servlet.ServletConfig | JSP 페이지에 대한 설정 정보를 저장한다. |
page | java.lang.Object | JSP 페이지를 구현한 자바 클래스 인스턴스 이다. |
exception | java.lang.Throwable | 예외 객체. 에러 페이지에서만 사용된다. |
1. request 기본객체
request 기본 객체가 제공하는 기능
- 클라이언트(웹 브라우저)와 관련된 정보 읽기 기능
- 서버와 관련된 정보 읽기 기능
- 클라이언트가 전송한 요청 파라미터 읽기 기능
- 클라이언트가 전송한 요청 헤더 읽기 기능
- 클라이언트가 전송한 쿠기 읽기 기능(향후 추가)
- 속성 처리 기능(향후 추가)
클라이언트 정보 및 서버 정보 읽기
request 기본 객체의 클라이언트 및 서버 정보 관련 메서드
메서드 | 리턴 타입 | 설명 |
getRemortAddr() | String | 웹 서버에 연결한 클라이언트의 IP 주소를 구한다. 게시판이나 방명록 등에서 글 작성자의 IP 주소가 자동으로 입력되기도 하는데 이때 입력되는 IP 주소가 바로 이 메서드를 사용하여 구한 것이다. |
getContentLength() | long | 클라이언트가 전송한 요청 정보의 길이를 구한다. 전송된 데이터의 길이를 알 수 없는 경우 -1 을 리턴한다. |
getCharacterEncoding() | String | 클라이언트가 요청 정보를 전송할 때 사용한 캐릭터의 인코딩을 구한다. |
getContentType() | String | 클라이언트가 요청 정보를 전송할때 사용한 컨텐트의 타입을 구한다. |
getProtocol() | String | 클라이언트가 요청한 프로토콜을 구한다. |
getMethod() | String | 웹 브라우저가 정보를 전송할 때 사용한 방식을 구한다. |
getRequestURI() | String | 웹 브라우저가 요청한 URL에서 경로를 구한다. |
getContextPath() | String | JSP 페이지가 속한 웹 어플리케이션의 컨텍스트 경로를 구한다. |
getServerName() | String | 연결할 때 사용한 서버 이름을 구한다. |
getServerPort() | int | 서버가 실행 중인 포트 번호를 구한다. |
기타 : getRequestURL()이 존재
예 :
클라이언트 IP = <%=request.getRemoteAddr()%> <br>
요청정보 길이 = <%=request.getContentLength()%> <br>
요청정보 인코딩 = <%= request.getCharacterEncoding()%> <br>
요청정보 컨텐트 타입 = <%=request.getContentType()%> <br>
요청정보 프로토콜 = <%=request.getProtocol()%> <br>
요청정보 전송방식 = <%=request.getMethod()%> <br>
요청 URI = <%=request.getRequestURI()%> <br>
컨텍스트 경로 = <%=request.getContextPath()%> <br>
서버이름 = <%=request.getServerName()%> <br>
서버포트 = <%=request.getServerPort()%> <br>
1.1 HTML 폼과 요청 파라미터의 처리
request 기본 객체의 파라미터 읽기 메서드
메서드 | 리턴 타입 | 설명 |
getParameter(String name) | String | 이름이 name인 파라미터의 값을 구한다. |
getParameterValues(String name) | String[] | 이름이 name인 파라미터의 값을 배열로 구한다. |
getParameterNames() | java.util.Enumeration | 웹 브라우저가 존송한 파라미터의 이름을 구한다. |
getParameterMap() | java.util.Map | 웹 브라우저가 전송한 파라미터의 맵을 구한다. 맵은 <파라미터 이름, 값> 쌍으로 구성된다. |
'자바 > JSP' 카테고리의 다른 글
JSP 웹 프로그래밍 기초 (0) | 2015.12.22 |
---|---|
JSP 내장객체에는 9가지 (0) | 2015.12.22 |
JSP - response 내장 객체 (0) | 2015.11.20 |
JSP - HTTPServletRequest 메소드 정리 (0) | 2015.11.20 |
JSP에서 웹 애플리케이션의 절대 주소 획득하기 (0) | 2015.11.20 |