我使用JAX-WS开发了一个Web服务,并且在web.xml中我已经注册了这个servlet上下文监听器。
<listener>
<listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>
</listener>
但是,现在我有一些特定的功能要在Web服务UP和Web服务DOWN时完成。我能想到的唯一方法是创建ServletContextlistener
并将其添加到web.xml
。
但是这会覆盖指定的那个(如上面<listener>
标签所示)。
我担心这种情况是WSServletContextListener
可能已经在实施ServletContextListener
方法,并且必须在其中进行特定的工作。
我试图扩展WSServletContextListener
类,但最终不能。另一种方法是我可以将WSServletContextListener
作为实例成员放入我的侦听器类并包装它提供的所有方法。但这是好的做法吗?
答案 0 :(得分:4)
制作自己的监听器,并在新的<listener>..</listener>
标签中声明。应该按照web.xml中指定的顺序调用这两个侦听器。
答案 1 :(得分:1)
您可以声明多个侦听器,它们将按照web.xml
中定义的顺序调用:
<listener>
<listener-class>com.example.First</listenerclass>
</listener>
<listener>
<listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>
</listener>
<listener>
<listener-class>com.example.Last</listener-class>
</listener>