java - 重写 ServletContextListener 的实现是一个好习惯吗?

标签 java web-services servlets jax-ws

我使用 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/

相关文章:

java - 调用验证伴随对象方法的单元测试(模拟伴随对象)

java - Java的Thread.sleep什么时候抛出InterruptedException?

java - 从 servlet 获取对 JspContext/PageContext 的引用

java - 在 JSP 中使用隐藏表单持久保存数据

java - 当 java 类被注解 @WebService 时会发生什么?

java - 如何解决 javax.net.ssl.SSLHandshakeException 错误?

java - Tomcat 无法解析 web.xml,在提到的代码点没有错误

java - 如何在 Java 中对流进行平面映射?

java - 从 .NET 使用 Java Web 服务

java - 启用 SSL 的 Tomcat 上的非 SSL Web 服务