1. 정의
모든 jsp는 서블릿 컨테이너에 의해서 서블릿으로 변환된다.
서블릿은 자바 프로그램이기 때문에 객체를 선언하여 인스턴스 변수를 개발자 마음대로 정의하여 사용할 수 있으나,
jsp는 서블릿이 상속받는 HttpServletRequest, HttpServletResponse 클래스에 선언된 객체들을 사용해야 한다.
(모든 jsp 파일들은 결국 서블릿으로 변환되기 때문에 = 서블릿이기 때문에)
서블릿에서는 직접 인스턴스 변수명을 마음대로 정의 가능하나 jsp는 서블릿으로 이루어져 있기 때문에(하위 단계라고 생각하는게 이해가 빠름) 서블릿에서 상속받은 HttpServletRequest, HttpServletResponse 클래스 안의 객체들을 사용할 수밖에 없다. (인스턴스 변수명이 이미 서블릿 안에서 지정되어 있다는 이야기)
별도의 import 없이 자유롭게 사용이 가능하고 스크립트릿 내에서 변수 이름으로 사용해서는 안 된다.
2. 속성
범위 |
선언부 |
설명 |
Page |
pageContext |
현재 페이지 내 해당 페이지가 클라이언트에 서비스를 제공하는 동안만 유효 |
Request |
request |
클라이언트로부터 요청을 받아 처리하는 동안 ( forward, include 이용시 여러 페이지에서 요청 정보가 유지되므로 request 영역의 속성을 여러 페이지에서 공유 가능 ) |
Response |
response |
클라이언트로 요청을 보내는 동안 request 객체와 반대의 속성 헤더 정보 설정, 오류 발생, 쿠키 추가 등에도 쓰임 |
Session |
session |
한 브라우저 내 세션이 유지되는 동안 1 브라우저당 1 세션이 생성되므로 같은 웹 브라우저 내에서 실행되는 페이지들이 속성을 공유 가능 |
Application |
application |
해당 웹 애플리케이션이 start -> stop 될 때까지 가장 범위가 큼 |
- removeAttribute(key) : 해당 정보 제거. key 값으로 등록된 속성을 제거
'BackEnd > Java' 카테고리의 다른 글
Servlet :: 필터 (Filter) (1) | 2016.06.10 |
---|---|
Java :: Random 함수 (0) | 2016.06.05 |
Java :: JDBC DAO 소스 (0) | 2016.04.26 |
Java :: 패키지 이름 명명 규칙 (0) | 2016.04.02 |
Servlet :: Servlet(서블릿) 이란? (0) | 2016.04.01 |