리스너, 필터 및 서블릿의 프로그래밍 방식 구성

Servlet 3.0 스펙에서 도입된 구성 메소드인 addListener, addFilter 및 addServlet에 대해 학습하십시오. ServletContainerInitializer 또는 ServletContextListener에서 ServletContext 인스턴스의 일부인 이들 메소드를 호출할 수 있습니다.

구성 메소드인 addListener, addFilter 및 addServlet이 자세히 설명됩니다. ServletContextListener가 web.xml 파일이나 web-fragment.xml 파일에서 선언되지 않았거나 @WebListener로 어노테이션되지 않은 경우에 ServletContextListener는 서블릿, 필터 또는 리스너를 프로그램 방식으로 구성할 수 없습니다. 그러므로, 그런 프로그램 방식 구성을 수행하기 위해 ServletContext에 대한 모든 호출은 UnsupportedOperationException이 됩니다.

addListener

addGlobalListener 메소드는 WebSphere® Application Server 버전 9.0에서 더 이상 사용되지 않습니다. addListener 메소드로 대체됩니다.
  • 이 서블릿 컨텍스트에 리스너를 추가하려면 다음 메소드를 사용하십시오.
    void addListener(java.lang.String className)
  • 이 서블릿 컨텍스트에 리스너를 추가하려면 다음 메소드를 사용하십시오.
    <T extends java.util.EventListener> void addListener(T t)
  • 이 서블릿 컨텍스트에 리스너를 추가하려면 다음 메소드를 사용하십시오.
    void addListener(java.lang.Class<? extends java.util.EventListener> listenerClass)
리스너 클래스는 다음 인터페이스 중 하나 이상을 구현해야 합니다.
  • ServletContextAttributeListener
  • ServletRequestListener
  • ServletRequestAttributeListener
  • HttpSessionListener
  • HttpSessionAttributeListener
  • javax.servlet.http.HttpSessionIdListener
  • javax.servlet.ServletContextListener
    참고: javax.servlet.ServletContextListener는 javax.servlet.ServletContainerInitializer의 onStartUp 메소드로부터만 추가될 수 있습니다.

addFilter

addMappingFilter 메소드는 WebSphere Application Server 버전 9.0에서 더 이상 사용되지 않습니다. addFilter 메소드로 대체됩니다. 이 메소드는 지정된 이름, 설명 및 클래스 이름을 웹 애플리케이션 컨텍스트에 추가합니다. 등록된 필터는 리턴된 FilterRegistration 오브젝트를 사용하여 추가로 구성될 수 있습니다.
  • 이 서블릿 컨텍스트에 필터를 추가하려면 다음 메소드를 사용하십시오.
    addFilter(java.lang.String filterName, java.lang.Class<? extends Filter> filterClass)
  • 이 서블릿 컨텍스트에 필터를 추가하려면 다음 메소드를 사용하십시오.
    addFilter(java.lang.String filterName, Filter filter) 
  • 이 서블릿 컨텍스트에 필터를 추가하려면 다음 메소드를 사용하십시오.
    addFilter(java.lang.String filterName, java.lang.String className) 

addServlet

addServlet 메소드는 동적으로 서블릿을 servletContext에 추가합니다. 이 메소드는 지정된 매개변수로 서블릿을 웹 애플리케이션 컨텍스트에 추가합니다. 등록된 서블릿은 리턴된 ServletRegistration 오브젝트를 사용하여 추가로 구성될 수 있습니다.

  • 이 서블릿 컨텍스트에 서블릿을 추가하려면 다음 메소드를 사용하십시오.
    addServlet(java.lang.String servletName, java.lang.Class<? extends Servlet> servletClass)
  • 이 서블릿 컨텍스트에 서블릿을 추가하려면 다음 메소드를 사용하십시오.
    addServlet(java.lang.String servletName, Servlet servlet)
  • 이 서블릿 컨텍스트에 서블릿을 추가하려면 다음 메소드를 사용하십시오.
    addServlet(java.lang.String servletName, java.lang.String className)

ServletContainerInitializer

공유된 라이브러리에 대해 JAR 파일을 구성하고 ServletContainerInitializer가 JAR 내에서 발견되면, ServletContainerInitializer는 공유된 라이브러리가 연관된 모든 애플리케이션에 대해 호출됩니다.

Servlet 3.0에서 더 이상 사용되지 않는 클래스

다음 클래스는 com.ibm.websphere.servlet.context.IBMServletContext에서 더 이상 사용되지 않습니다.
  • public void addDynamicServlet(String servletName, String servletClass, String mappingURI, Properties initParameters)은 ServletException, java.lang.SecurityException을 발생시킵니다.
  • public void removeDynamicServlet(String servletName)은 java.lang.SecurityException을 발생시킵니다.
요청이 동시에 해당 서블릿을 제공하는 경우 서블릿을 제거하면 타이밍 문제가 발생할 수 있기 때문에 removeDynamicServlet 메소드에 대한 대체는 없습니다. addServlet 및 createServlet 메소드는 addDynamicServlet 메소드를 대체합니다.

주제 유형을 표시하는 아이콘 개념 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cweb_servlet30configmethods
파일 이름:cweb_servlet30configmethods.html