Um esclarecimento da especificação Servlet 3.1 agora não permite que um implementador da interface ServletContextListener configure programaticamente servlets, filtros ou listeners, se o ServletContextListener não foi declarado no arquivo web.xml ou no arquivo web-fragment.xml ou não foi anotado com @WebListener. Como resultado como resultado, qualquer chamada na interface ServletContext para executar essa configuração programática resulta em uma mensagem de erro UnsupportedOperationException. Essa regra sinaliza classes que implementam a interface javax.servlet.ServletContextListener e não são anotadas com @WebListener nem são definidas como listener-class no arquivo web.xml ou web-fragment.xml.
Os seguintes métodos podem lançar o UnsupportedOperationException:
Para obter informações adicionais sobre mudanças de comportamento do Servlet 3.1, veja o recurso a seguir: Mudanças de comportamento do Servlet 3.1.