English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

JSP 은닉 객체

JSP 잠재적 객체는 JSP 컨테이너가 각 페이지에 제공하는 Java 객체로, 개발자는 명시적으로 선언하지 않고 직접 사용할 수 있습니다. JSP 잠재적 객체는 예약된 변수라고도 합니다.

JSP가 지원하는 열두 가지 잠재적 객체:

객체설명
requestHttpServletRequest 인터페이스의 예제
responseHttpServletResponse 인터페이스의 예제
outJspWriter클래스의 예제로, 결과를 웹 페이지에 출력하는 데 사용됩니다
sessionHttpSession클래스의 예제
applicationServletContext클래스의 예제로, 애플리케이션 컨텍스트와 관련 있습니다
configServletConfig클래스의 예제
pageContextPageContext클래스의 예제로, JSP 페이지의 모든 객체 및 네임스페이스에 대한 접근을 제공합니다
page Java 클래스에서의 this 키워드와 유사합니다
ExceptionException클래스의 객체, 대상 JSP 페이지에서 발생한 예외 대상

request 객체

request 객체는 javax.servlet.http.HttpServletRequest 클래스의 예제로, 클라이언트가 JSP 페이지를 요청할 때마다 JSP 엔진이 이 요청을 대표하는 새로운 request 객체를 생성합니다.

request 객체는 HTTP 헤더 정보, 쿠키, HTTP 메서드 등을 가져오는 다양한 메서드를 제공합니다.

response 객체

response 객체는 javax.servlet.http.HttpServletResponse 클래스의 예제입니다. 서버가 request 객체를 생성할 때마다 이 클라이언트에 대한 response 객체도 동시에 생성됩니다.

response 객체는 HTTP 헤더 모듈을 처리하는 인터페이스도 정의합니다. 이 객체를 통해 개발자는 새로운 쿠키, 타임스탬프, HTTP 상태 코드 등을 추가할 수 있습니다.

out 객체

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 객체

session 객체는 javax.servlet.http.HttpSession 클래스의 예제로, Java Servlets의 session 객체와 같은 동작을 합니다.

session 객체는 각 클라이언트 요청 간의 세션을 추적합니다.

application 객체

application 객체는 servlet의 ServletContext 클래스의 객체를 직접 포장하며, javax.servlet.ServletContext 클래스의 예제입니다.

이 객체는 JSP 페이지의 전체 생명주기 동안 이 JSP 페이지를 대표합니다. 이 객체는 JSP 페이지가 초기화될 때 생성되고, jspDestroy() 메서드가 호출될 때 제거됩니다.

application에 속성을 추가하면, 웹 애플리케이션의 모든 JSP 파일이 이러한 속성에 접근할 수 있습니다.

config 객체

config 객체는 javax.servlet.ServletConfig 클래스의 예제로, servlet의 ServletConfig 클래스의 객체를 직접 포장합니다.

이 객체는 개발자가 Servlet이나 JSP 엔진의 초기화 매개변수에 접근할 수 있도록 합니다. 예를 들어 파일 경로 등.

다음은 config 객체의 사용 방법입니다. 중요하지 않기 때문에 흔히 사용되지 않습니다:

config.getServletName();

이는 <servlet-name> 요소의 servlet 이름, 주의하세요, <servlet-name> 요소는 WEB-INF\web.xml 파일에서 정의됩니다.

pageContext 객체

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);

page 객체

이 객체는 페이지 예제의 참조입니다. 이를 전체 JSP 페이지의 대표로 볼 수 있습니다.

page 객체는 this 객체와 동일합니다.

exception 객체

exception 객체는 이전 페이지에서 터진 예외 정보를 포장합니다. 이는 일반적으로 오류 조건에 대한 적절한 응답을 생성하는 데 사용됩니다.