我使用 JAX-WS 开发了一个 Web 服务,并在 web.xml 中注册了这个 servlet 上下文监听器。
<listener>
<listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>
</listener>
但是,现在我有一些特定的功能需要在网络服务启动和网络服务关闭时完成。我能想到的唯一方法是创建一个 ServletContextlistener
并将其添加到 web.xml
.
但这会覆盖指定的(如上所示 <listener>
标记)。
在这种情况下我担心的是 WSServletContextListener
可能已经实现 ServletContextListener
方法,并且必须在其中做具体的工作。
我尝试扩展WSServletContextListener
类但它是最后的所以不能。另一种方法是我可以采取 WSServletContextListener
作为实例成员进入我的监听器类并包装它提供的所有方法。但这是好的做法吗?
最佳答案
创建您自己的监听器并在新的 <listener>..</listener>
中声明它标签。应按照 web.xml 中指定的顺序调用这两个监听器。
关于java - 重写 ServletContextListener 的实现是一个好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5967536/