Configuración programática de escuchas, filtros y servlets

Conozca los métodos de configuración, addListener, addFilter y addServlet, que se han presentado en la especificación de Servlet 3.0. Puede llamar a estos métodos, que forman parte de la interfaz ServletContext, desde un ServletContainerInitializer o un ServletContextListener.

Los métodos de configuración, addListener, addFilter y addServlet, se describen detalladamente. ServletContextListener no puede configurar programáticamente servlets, filtros o escuchas si el ServletContextListener no se declara en el archivo web.xml o el archivo web-fragment.xml o no se ha anotado con @WebListener. Por consiguiente, cualquier llamada en el contexto de servlet para realizar dicha configuración programáticamente produce una UnsupportedOperationException.

addListener

El método addGlobalListener está en desuso en WebSphere Application Server Versión 9.0. Se ha sustituido por el método addListener.
  • Utilice el método siguiente para añadir un escucha a este contexto de servlet:
    void addListener(java.lang.String className)
  • Utilice el método siguiente para añadir un escucha a este contexto de servlet:
    <T extends java.util.EventListener> void addListener(T t)
  • Utilice el método siguiente para añadir un escucha a este contexto de servlet:
    void addListener(java.lang.Class<? extends java.util.EventListener> listenerClass)
La clase de escucha debe implementar una o varias de las interfaces siguientes:
  • ServletContextAttributeListener
  • ServletRequestListener
  • ServletRequestAttributeListener
  • HttpSessionListener
  • HttpSessionAttributeListener
  • javax.servlet.http.HttpSessionIdListener
  • javax.servlet.ServletContextListener
    Nota: Un javax.servlet.ServletContextListener sólo se puede añadir desde el método onStartUp de un javax.servlet.ServletContainerInitializer.

addFilter

El método addMappingFilter está en desuso en WebSphere Application Server Versión 9.0. Se ha sustituido por el método addFilter. Este método añade el filtro con el nombre especificado, la descripción y el nombre de clase al contexto de la aplicación web. El filtro registrado se puede configurar más utilizando el objeto FilterRegistration devuelto.
  • Utilice el método siguiente para añadir un filtro a este contexto de servlet:
    addFilter(java.lang.String filterName, java.lang.Class<? extends Filter> filterClass)
  • Utilice el método siguiente para añadir un filtro a este contexto de servlet:
    addFilter(java.lang.String filterName, Filter filter) 
  • Utilice el método siguiente para añadir un filtro a este contexto de servlet:
    addFilter(java.lang.String filterName, java.lang.String className) 

addServlet

Los métodos addServlet añaden dinámicamente servlets a un servletContext. Estos métodos añaden el servlet con los parámetros proporcionados al contexto de aplicación web. El servlet registrado se puede configurar más utilizando el objeto ServletRegistration devuelto.

  • Utilice el método siguiente para añadir un servlet a este contexto de servlet:
    addServlet(java.lang.String servletName, java.lang.Class<? extends Servlet> servletClass)
  • Utilice el método siguiente para añadir un servlet a este contexto de servlet:
    addServlet(java.lang.String servletName, Servlet servlet)
  • Utilice el método siguiente para añadir un servlet a este contexto de servlet:
    addServlet(java.lang.String servletName, java.lang.String className)

ServletContainerInitializer

Cuando configure un archivo JAR para una biblioteca compartida y se descubre un ServletContainerInitializer en el JAR, el ServletContainerInitializer se invoca para cada aplicación con la que la biblioteca compartida está asociada.

Clases en desuso en Servlet 3.0

Las siguientes clases han quedado en desuso a partir de com.ibm.websphere.servlet.context.IBMServletContext:
  • public void addDynamicServlet(String servletName, String servletClass, String mappingURI, Properties initParameters) genera ServletException, java.lang.SecurityException;
  • public void removeDynamicServlet(String servletName) genera java.lang.SecurityException
No hay ninguna sustitución para el método removeDynamicServlet porque la eliminación de un servlet puede causar problemas de temporización si una solicitud estaba prestando servicio a dicho servlet al mismo tiempo. Los métodos addServlet y createServlet sustituyen al método addDynamicServlet.

Icon that indicates the type of topic Concept topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cweb_servlet30configmethods
File name: cweb_servlet30configmethods.html