ServletConfig 인터페이스는 서블릿 컨테이너가 서블릿이 초기화될 때 필요한 정보를 전달하기 위해 사용하는 인터페이스로 서블릿의 구성을 정의하고 있다. 서블릿 컨테이너는 ServletConfig 인터페이스를 구현한 객체를 통해 서블릿에게 추기화 파라미터나 서버와 관련된 정보를 서블릿에게 제공해주고 있다. 이 때 ServletConfig 객체는 ServletContext 객체를 포함하고 있다.
ServletConfig 인터페이스 메소드
메 소 드 |
설 명 |
String getInitParameter(String name) |
name/value 쌍으로 이루어진 초기화 파리미터에서 전달된 name에 해당하는 값을 반환한다. (초기값은 web.xml에 작성한다.) |
Enumeratioin getInitParameterNames() |
초기화 파라미터들의 이름에 대한 Enumeration객체를 반환 |
ServletContext getServletContext() |
서버가 서블릿에게 전달해 준 ServletContext객체를 반환 |
ServletContext 인터페이스
서블릿 클래스와 서블릿 켄테이너간 통신을 위한 메소드들을 정의하고 있다. ServletContext 객체는 ServletConfig 객체에 포함되어 있다. 따라서 ServletConfig.getServletContext() 메소드를 사용하면 ServletContext 객체를 얻을 수 있다.
ServletContext 인터페이스 메소드)
메 소 드 |
설 명 |
Object getAttribute(String name) |
주어진 이름의 서블릿 컨테이너의 속성을 반환 |
Enumeration getAttributeNames() |
서블릿 컨테이너의 속성에 대해 이름들을 Enumeration 객체를 반환 |
void removeAttribute(String name) |
서블릿 컨텍스트로부터 주어진 이름의 속성을 제거 |
void setAttribute(String name, Object obj) |
서블릿 컨텍스트에 주어진 이름의 속성을 추가 |
ServletContext getContext(String url) |
주어진 서버 상의 url에 해당하는 ServletContext객체를 반환 |
int getMajorVersion() |
웹 서버가 지원하는 자바 서블릿 API의 major 버전을 반환 |
int getMinorVersion() |
웹 서버가 지원하는 자바 서블릿 API의 minor 버전을 반환 |
String getMimeType(String file) |
문자열로 주어진 파일에 대한 MIME 타입을 반환 |
String getRealPath(String path) |
주어진 가상 디렉토리의 실제 경로를 반환 |
RequestDispatcher getRequestDispatcher(String url) |
주어진 경로에 위치에 있는 자원을 위한 wrapper로 작동하는 RequestDispatcher 객체를 반환 |
URL getResource(String path) |
주어진 경로에 매핑되는 자원을 반환 |
InputStream getResourceAsStream(String path) |
주어진 경로에 매핑되는 자원으로부터 입력받을 수 있는 입력 스트림을 반환 |
Enumeration getServlets() |
자바 서블릿 API 2.0부터 제거 |
void log(Exception exc, String msg) |
자바 서블릿 API 2.0부터 제거 |
void log(String msg) |
서블릿 로그 파일에 주어진 메시지를 기록한다. |
void log(String msg, Throwable t) |
스택의 내용과 주어진 예외가 가지는 확장 메시지를 서블릿 로그 파일에 기록 |
String getServletInfo() |
서블릿이 실행되고 있는 서블릿 엔진의 이름과 버전을 반환 |
ServletConfig 객체와 ServletContext 객체를 얻는 방법
GenericServlet 클래스를 상속받아 서블릿을 작성할 때는 쉽게 얻을 수 있습니다. SevletConfig 객체를 얻는 코드는 아래와 같습니다.
public class ServletExample extends GenericServlet {
public void service(ServletRequest req, ServletResponse res) {
ServletConfig config = getServletConfig(); // ServletConfig 객체 얻기
ServletContext context = config.getServletContext(); // ServletContext 객체 얻기
}
}
하지만 GenericServlet 클래스를 상속받아 서블릿을 작성하지 않는 경우는 위와 같이 서블릿 정보를 얻을 수 없습니다.
'자바(Java) > JAVA 2EE' 카테고리의 다른 글
클라이언트에게 응답할 때 사용되는 ServletResponse 인터페이스 (0) | 2010.12.08 |
---|---|
사용자의 요청 정보를 담고 있는 ServletRequest 인터페이스 (0) | 2010.12.08 |
HTTP 프로토콜을 위한 서블릿 클래스 HttpServlet 클래스 (0) | 2010.12.05 |
서블릿의 라이프 사이클과 기본 상속 관계 (0) | 2010.12.05 |
서블릿(Servlet)이란? (0) | 2010.12.05 |