1. 페이지 개체
페이지 객체는 JSP 자체를 나타내며, 보다 정확하게는 Servlet 클래스에 의해 정의된 메소드를 호출할 수 있는 JSP의 변환된 Servlet을 나타냅니다.
2. 구성 객체
구성 객체는 일부 서블릿 초기 데이터 구조를 저장합니다.
구성 객체는 다음 네 가지 메소드가 있는 javax.servlet.ServletConfig 인터페이스에서 구현됩니다.
공개 문자열 getInitParameter(이름)
공개 java.util.Enumeration getInitParameterNames()
공공 ServletContext getServletContext()
public Sring getServletName()
3. 요청 객체
요청 객체에는 요청 소스, 헤더, 쿠키, 요청 관련 매개변수 값 등 요청된 모든 정보가 포함됩니다.
요청 객체는 javax.servlet.http.HttpServletRequest 인터페이스를 구현하며 제공되는 메소드는 네 가지 범주로 나눌 수 있습니다.
1. 속성을 저장하고 획득하는 방법
void setAttribute(String name, Object value) name 속성의 값을 value로 설정합니다.
열거 getAttributeNamesInScope(int 범위) 모든 범위의 속성을 가져옵니다.
Object getAttribute(String name) name 속성의 값을 가져옵니다.
void RemoveAttribute(String name)는 name 속성의 값을 제거합니다.
2. 요청 매개변수를 얻는 방법
String getParameter(String name) name의 매개변수 값을 가져옵니다.
Enumeration getParameterNames() 모든 매개변수 이름을 가져옵니다.
String [] getParameterValues(String name) 모든 이름의 매개변수 값을 가져옵니다.
Map getParameterMap() 매개변수가 필요한 맵을 가져옵니다.
3. 요청 HTTP 헤더를 얻는 방법
String getHeader(String name) 이름의 헤더를 가져옵니다.
열거형 getHeaderNames()는 모든 헤더 이름을 가져옵니다.
Enumeration getHeaders(String name) 모든 이름의 헤더를 가져옵니다.
int getIntHeader(String name) 정수형 name의 헤더를 가져옵니다.
long getDateHeader(String name) 날짜 유형 이름의 헤더를 가져옵니다.
Cookie [] getCookies() 요청과 관련된 쿠키를 가져옵니다.
4. 기타 방법
String getContextPath() 컨텍스트 경로(예: 사이트 이름)를 가져옵니다.
String getMethod() HTTP 메소드 가져오기(GET, POST)
String getProtocol() 사용된 프로토콜을 가져옵니다(HTTP/1.1, HTTP/1.0).
String getQueryString() 요청의 매개변수 문자열을 가져옵니다. 단, HTTP 메소드는 GET이어야 합니다.
String getRequestedSessionId() 클라이언트의 세션 ID를 가져옵니다.
String getRequestURI() 요청된 URL을 가져오지만 요청 매개변수 문자열은 포함하지 않습니다.
String getRemoteAddr() 사용자의 IP 주소를 가져옵니다.
String getRemoteHost() 사용자의 호스트 이름을 가져옵니다.
int getRemotePort() 사용자의 호스트 포트를 가져옵니다.
String getRemoteUser() 사용자 이름을 가져옵니다.
void etCharacterEncoding(String 인코딩)은 중국어를 다음 형식으로 전송하는 문제를 해결하기 위해 인코딩 형식을 설정합니다.
4. 응답 객체
응답 객체는 주로 JSP 처리 데이터의 결과를 클라이언트로 다시 전송합니다.
응답 객체는 javax.servlet.http.HttpServletResponse 인터페이스를 구현합니다. 응답 객체가 제공하는 메서드입니다.
1. 헤더 설정 방법
void addCookie(Cookie cookie) 쿠키 추가
void addDateHeader(String name, long date) 이름 헤더에 긴 값을 추가합니다.
void addHeader(String name, String value) 이름 헤더에 String 유형 값을 추가합니다.
void addIntHeader(String name, int value) 이름 헤더에 int 유형 값을 추가합니다.
void setDateHeader(String name, long date) 이름 헤더에 긴 값을 지정합니다.
void setHeader(String name, String value) 이름 헤더에 문자열 유형 값을 지정합니다.
void setIntHeader(String name, int value) 이름 헤더에 int 유형의 값을 지정합니다.
2. 응답 상태 코드 설정 방법
void sendError(int sc) 상태 코드(status code) 보내기
void sendError(int sc, String msg)는 상태 코드와 오류 정보를 보냅니다.
void setStatus(int sc) 상태 코드 설정
3. URL 재작성에 사용되는 방법
String encodeRedirectURL(String url)은 sendRedirect() 메소드를 사용하여 URL을 인코딩합니다.
5. 아웃 객체
out 개체는 결과를 웹 페이지에 출력할 수 있습니다.
out은 주로 출력 버퍼와 출력 스트림을 제어하고 관리하는 데 사용됩니다.
voidclear()는 출력 버퍼의 내용을 지웁니다.
voidclearBuffer()는 출력 버퍼의 내용을 지웁니다.
void close()는 출력 스트림을 닫고 모든 내용을 지웁니다.
int getBufferSize() 현재 버퍼 크기(KB)를 가져옵니다.
int getRemaining() 현재 사용 후 남은 버퍼 크기(KB)를 가져옵니다.
boolean isAutoFlush()는 버퍼가 가득 찼을 때 자동으로 지워짐을 나타내려면 true를 반환하고, 버퍼가 자동으로 지워지지 않고 예외가 생성될 것임을 나타내려면 false를 반환합니다.
6. 세션 객체
세션 개체는 개별 사용자의 현재 세션 상태를 나타냅니다.
세션 객체는 javax.servlet.http.HttpSession 인터페이스와 HttpSession 인터페이스에서 제공하는 메서드를 구현합니다.
long getCreationTime() 세션이 생성되는 시간을 밀리초 단위로 가져옵니다.
String getId()는 세션 ID를 가져옵니다.
long getLastAccessedTime() 사용자가 이 세션을 통해 마지막으로 요청을 보낸 시간을 가져옵니다.
long getMaxInactiveInterval()은 최대 세션 비활성 시간을 얻습니다. 이 시간을 초과하면 세션이 만료됩니다.
void 무효화()는 세션 객체를 취소하고 객체에 저장된 내용을 완전히 버립니다.
boolean isNew() 세션이 "새"인지 여부를 결정합니다.
무효화
됩니다.
애플리케이션 개체는 환경에 대한 정보에 액세스하는 데 가장 일반적으로 사용됩니다.
환경 정보는 일반적으로 ServletContext에 저장되므로 애플리케이션 객체는 ServletContext의 정보에 액세스하는 데 자주 사용됩니다.
애플리케이션 객체는 javax.servlet.ServletContext 인터페이스와 ServletContext 인터페이스 컨테이너가 제공하는 메소드를 구현합니다.
int getMajorVersion() 컨테이너의 기본 서블릿 API 버전을 가져옵니다.
int getMinorVersion() 컨테이너의 마이너 서블릿 API 버전을 가져옵니다.
String getServerInfo() 컨테이너의 이름과 버전을 가져옵니다.
String getMimeType(String file) 지정된 파일의 MIME 유형을 가져옵니다.
ServletContext getContext(String uripath) 지정된 로컬 URL의 애플리케이션 컨텍스트를 가져옵니다.
String getRealPath(String path) 로컬 경로의 절대 경로를 가져옵니다.
void log(String message)는 로그 파일에 정보를 기록합니다.
void log(String message, Throwable throwable)는 스택 추적에 의해 생성된 예외 정보를 로그 파일에 기록합니다.
8. pageContext 객체
pageContext 객체는 다른 암시적 객체에 액세스할 수 있습니다.
1. 다른 암시적 객체 속성에 액세스하는 pageContext 객체의 방법에는 매개변수 범위를 지정해야 합니다.
Object getAttribute(문자열 이름, int 범위)
열거형 getAttributeNamesInScope(int 범위)
void RemoveAttribute(문자열 이름, int 범위)
void setAttribute(문자열 이름, 개체 값, int 범위)
PAGE_SCOPE, REQUEST_SCOPE, SESSION_SCOPE, APPLICATION_SCOPE의 네 가지 범위를 나타내는 네 가지 범위 매개변수가 있습니다.
2. PageContext 객체가 다른 암시적 객체를 획득하는 방법
Exception getException()은 현재 웹페이지의 예외를 반환하지만 이 웹페이지는 오류 페이지여야 합니다.
JspWriter getOut()은 현재 웹 페이지의 출력 스트림을 반환합니다. 예: out
Object getPage()는 현재 웹 페이지의 서블릿 엔터티(인스턴스)를 반환합니다. 예: page
ServletRequest getRequest()는 현재 웹 페이지의 요청을 반환합니다. 예: request
ServletResponse getResponse()는 현재 웹페이지의 응답을 반환합니다. 예: response
ServletConfig getServletConfig()는 현재 웹 페이지의 ServletConfig 객체를 반환합니다. 예: config
ServletContext getServletContext()는 이 웹 페이지의 현재 실행 환경(컨텍스트)을 반환합니다. 예를 들면 다음과 같습니다.
HttpSession getSession()은 현재 웹 페이지와 관련된 세션을 반환합니다. 예: 세션
3.PageContext 객체는 속성을 얻는 방법을 제공합니다.
Object getAttribute(String name, int range)는 name 속성을 반환하고 범위는 범위의 속성 개체이며 반환 유형은 Object입니다.
Enumeration getAttributeNamesInScope(int range) 범위에 있는 모든 속성의 속성 이름을 반환하며 반환 유형은 Enumeration입니다.
int getAttributesScope(String name)은 속성 이름이 name인 속성 범위를 반환합니다.
void RemoveAttribute(String name) 속성 이름이 name인 속성 객체를 제거합니다.
void RemoveAttribute(String name, int range) 속성 이름이 name이고 범위가 범위인 속성 개체를 제거합니다.
void setAttribute(String name, Object value, int range)는 속성 객체의 이름을 name으로, 값을 value로, 범위를 범위로 지정합니다.
Object findAttribute(String name) 모든 범위에서 속성 이름이 name인 속성 객체를 찾습니다.
9. 예외 객체
예외 개체를 사용하려면 페이지 지시문에 설정해야 합니다. <%@ 페이지 isErrorPage="true" %>를 사용할 수 있습니다.
예외로 제공되는 세 가지 방법:
메시지 받기( )
getLocalizedMessage( ),
printStackTrace(new java.io.PrintWriter(out))