스크립트릿, 선언, 표현식
- 선언(declaration) : <%! java 코드 %>
JSP페이지 내에서 사용되는 변수 또는 메소드를 선언할 때 사용 합니다.
여기서 선언된 변수 및 메소드는 전역의 의미로 사용됩니다.
- 표현식(expression) : <%= java 코드 %>
JSP페이지 내에서 사용되는 변수의 값 또는 메소드 호출 결과값을 출력하기 위해 사용 됩니다.
결과값은 String 타입이며, ‘;’를 사용 할 수 없습니다.
지시자 (디렉티브)
- JSP페이지의 전체적인 속성을 지정할 때 사용 합니다.
page, include, taglib 가 있으며, <%@ 속성 %>형태로 사용 됩니다.
page : 해당 페이지의 전체적인 속성 지정
include : 별도의 페이지를 현재 페이지에 삽입
taglib : 태그라이브러리의 태그 사용
page 지시자
- 페이지의 속성을 지정할 때 사용 합니다. 주로 사용되는 언어 지정 및 import문을 많이 사용 합니다.
include 지시자
- 현재 페이지 내에 다른 페이지를 삽입할 때 사용 됩니다. file속성을 이용 합니다.
taglib 지시자
- 사용자가 만든 tag들을 태그라이브러리라고 합니다. 그리고 이러한 태그라이브러리를 사용하기 위해 taglib 지시자를 사용 합니다.
- uri 및 prefix 속성이 있으며, uri는 태그라이브러리의 위치 값을 가지며, prefix는 태그를 가리키는 이름 값을 가집니다.
ex)
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
주석
HTML 주석
- <!– comments -->로 기술 하며, 테스트 용도 및 프로그램 설명 용도로 사용 합니다.
HTML 및 JSP 주석이 별도로 존재
JSP 주석
- <%-- comments --%>로 기술 하며, HTML주석과 마찬가지로 테스트 용도 및 프로그램 설명 용도로 사용 합니다.
- JSP 스크립트릿 안에서 JAVA언어의 주석 사용가능 ( // , /* */ )
request 객체
웹브라우저를 통해 서버에 어떤 정보를 요청하는 것을 request라고 합니다. 그리고 이러한 요청 정보는 request객체가 관리 합니다.
Request객체 관련 메소드
- getContextPath() : 웹어플리케이션의 컨텍스트 패스를 얻습니다.
- getMethod() : get방식과 post방식을 구분할 수 있습니다.
- getSession() : 세션 객체를 얻습니다.
- getProtocol() : 해당 프로토콜을 얻습니다.
- getRequestURL() : 요청 URL를 얻습니다.
- getRequestURI() : 요청 URI를 얻습니다.
- getQueryString() : 쿼리스트링을 얻습니다.
Parameter 메소드
Servlet 과 동일
response 객체
웹브라우저의 요청에 응답하는것을 response라고 하며, 이러한 응답(response)의 정보를 가지고 있는 객체를 response객체 라고 합니다.
Request객체 관련 메소드
- setCharacterEncoding() : 응답할때 문자의 인코딩 방식을 지정.
- addCookie(Cookie) : 쿠키를 지정 합니다.
- sendRedirect(URL) : 지정한 URL로 이동합니다.
out 객체
- JSP의 자바소스가 들어가는 스크립트릿(<% %>)에서 HTML로 출력하고자 할 때 사용하는 객체
pageContext 객체의 이해
- 주로 다른 내장 객체를 구하거나 페이지의 흐름 제어 그리고 에러 데이터를 얻어낼 때 사용됩니다.
pageContext를 직접 사용하는 경우는 드물고 커스텀 태그를 구현할 때 주로 사용됩니다.
application 객체
- 서버의 설정 정보 및 자원에 대한 정보를 얻어내거나 어플리케이션이 실행되고 있는 동안에 발생할 수 있는 이벤트로그 정보와 관련된 기능들을 제공합니다.
application 객체는 javax.servlet.ServletContext 객체 타입으로 제공하고 application 객체 형태로 사용합니다.
exception 객체
에러가 발생했을 때 사용하는 객체입니다. 에러 페이지에서만 사용가능 합니다.
(<%@page isErrorPage=“true”%>)