Ahora una clarificación de la especificación de Servlet 3.1 no permite que un implementador de la interfaz ServletContextListener configure mediante programación servlets, filtros o escuchas si no se ha declarado ServletContextListener en el archivo web.xml o web-fragment.xml o no se ha anotado con @WebListener. Como resultado, cualquier llamada en la interfaz ServletContext para realizar esta configuración mediante programación genera una UnsupportedOperationException. Esta regla marca las clases que implementan la interfaz javax.servlet.ServletContextListener y no tienen la anotación @WebListener ni están definidas como una clase de escucha en el archivoweb.xml o web-fragment.xml.
Los métodos siguientes pueden emitir la UnsupportedOperationException:
Para obtener más información sobre los cambios de comportamiento de Servlet 3.1, consulte el recurso siguiente: Cambios de comportamiento de Servlet 3.1.