English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
JSP 잠재적 객체는 JSP 컨테이너가 각 페이지에 제공하는 Java 객체로, 개발자는 명시적으로 선언하지 않고 직접 사용할 수 있습니다. JSP 잠재적 객체는 예약된 변수라고도 합니다.
JSP가 지원하는 열두 가지 잠재적 객체:
객체 | 설명 |
---|---|
request | HttpServletRequest 인터페이스의 예제 |
response | HttpServletResponse 인터페이스의 예제 |
out | JspWriter클래스의 예제로, 결과를 웹 페이지에 출력하는 데 사용됩니다 |
session | HttpSession클래스의 예제 |
application | ServletContext클래스의 예제로, 애플리케이션 컨텍스트와 관련 있습니다 |
config | ServletConfig클래스의 예제 |
pageContext | PageContext클래스의 예제로, JSP 페이지의 모든 객체 및 네임스페이스에 대한 접근을 제공합니다 |
page | Java 클래스에서의 this 키워드와 유사합니다 |
Exception | Exception클래스의 객체, 대상 JSP 페이지에서 발생한 예외 대상 |
request 객체는 javax.servlet.http.HttpServletRequest 클래스의 예제로, 클라이언트가 JSP 페이지를 요청할 때마다 JSP 엔진이 이 요청을 대표하는 새로운 request 객체를 생성합니다.
request 객체는 HTTP 헤더 정보, 쿠키, HTTP 메서드 등을 가져오는 다양한 메서드를 제공합니다.
response 객체는 javax.servlet.http.HttpServletResponse 클래스의 예제입니다. 서버가 request 객체를 생성할 때마다 이 클라이언트에 대한 response 객체도 동시에 생성됩니다.
response 객체는 HTTP 헤더 모듈을 처리하는 인터페이스도 정의합니다. 이 객체를 통해 개발자는 새로운 쿠키, 타임스탬프, HTTP 상태 코드 등을 추가할 수 있습니다.
out 객체는 javax.servlet.jsp.JspWriter 클래스의 예제로, response 객체에 내용을 입력하는 데 사용됩니다.
최초의 JspWriter 클래스 객체는 페이지가 캐시가 있는지 여부에 따라 다른 예제화 작업을 수행합니다. page 지시자에서 buffered='false' 속성을 사용하여 쉽게 캐시를 끄실 수 있습니다.
JspWriter 클래스는 대부분의 java.io.PrintWriter 클래스의 메서드를 포함하고 있습니다. 그러나 JspWriter 클래스는 캐시 처리를 위해 설계된 몇 가지 새로운 메서드를 추가했습니다. 또한, JspWriter 클래스는 IOExceptions 예외를 퍼스트而出하며, PrintWriter는 아닙니다.
다음 표는 boolean, char, int, double, String, object 등 타입의 데이터를 출력하는 데 사용할 중요한 메서드를 나열합니다:
메서드 | 설명 |
---|---|
out.print(dataType dt); | Type 타입의 값을 출력 |
out.println(dataType dt); | Type 타입의 값을 출력한 후 줄 바꿈 |
out.flush(); | 출력 스트림 새기 |
session 객체는 javax.servlet.http.HttpSession 클래스의 예제로, Java Servlets의 session 객체와 같은 동작을 합니다.
session 객체는 각 클라이언트 요청 간의 세션을 추적합니다.
application 객체는 servlet의 ServletContext 클래스의 객체를 직접 포장하며, javax.servlet.ServletContext 클래스의 예제입니다.
이 객체는 JSP 페이지의 전체 생명주기 동안 이 JSP 페이지를 대표합니다. 이 객체는 JSP 페이지가 초기화될 때 생성되고, jspDestroy() 메서드가 호출될 때 제거됩니다.
application에 속성을 추가하면, 웹 애플리케이션의 모든 JSP 파일이 이러한 속성에 접근할 수 있습니다.
config 객체는 javax.servlet.ServletConfig 클래스의 예제로, servlet의 ServletConfig 클래스의 객체를 직접 포장합니다.
이 객체는 개발자가 Servlet이나 JSP 엔진의 초기화 매개변수에 접근할 수 있도록 합니다. 예를 들어 파일 경로 등.
다음은 config 객체의 사용 방법입니다. 중요하지 않기 때문에 흔히 사용되지 않습니다:
config.getServletName();
이는 <servlet-name> 요소의 servlet 이름, 주의하세요, <servlet-name> 요소는 WEB-INF\web.xml 파일에서 정의됩니다.
pageContext 객체는 javax.servlet.jsp.PageContext 클래스의 예제로, 전체 JSP 페이지를 대표합니다.
이 객체는 페이지 정보에 접근하고 대부분의 구현 세부 사항을 필터링하는 데 사용됩니다.
이 객체는 request 객체와 response 객체의 참조를 저장합니다. application 객체, config 객체, session 객체, out 객체는 이 객체의 속성을 통해 참조할 수 있습니다.
pageContext 객체는 JSP 페이지에 전달된 지시 정보를 포함하고 있습니다. 이는 캐시 정보, ErrorPage URL, 페이지 scope 등을 포함합니다.
PageContext 클래스는 PAGE_SCOPE, REQUEST_SCOPE, SESSION_SCOPE, APPLICATION_SCOPE와 같은 필드를 정의합니다. 또한 제공합니다40개 이상의 메서드가 javax.servlet.jsp.JspContext 클래스에서 상속됩니다.
중요한 메서드 중 하나는 removeAttribute()입니다. 이 메서드는 하나 또는 두 개의 매개변수를 받을 수 있습니다. 예를 들어, pageContext.removeAttribute("attrName")은 네 가지 scope 중 관련 속성을 제거하지만, 다음과 같은 방법은 특정 scope에서만 관련 속성을 제거합니다:
pageContext.removeAttribute("attrName", PAGE_SCOPE);
이 객체는 페이지 예제의 참조입니다. 이를 전체 JSP 페이지의 대표로 볼 수 있습니다.
page 객체는 this 객체와 동일합니다.
exception 객체는 이전 페이지에서 터진 예외 정보를 포장합니다. 이는 일반적으로 오류 조건에 대한 적절한 응답을 생성하는 데 사용됩니다.