java - 如何确定 web.xml 中监听器的顺序

标签 java servlets jakarta-ee

我的 Java webapp 中有一堆 servlet 上下文监听器,每个监听器都收集有关环境的一些信息。

其中一些依赖于另一个听众收集的信息。但是我无法确定监听器注册和调用的顺序,所以我不得不复制代码。

我知道监听器是按照他们在 web.xml 中的顺序注册的,但这对我来说听起来有点模糊,太模糊以至于无法依赖它。

你有什么建议可以解决我的问题吗?

最佳答案

所有 servlet 容器和 Java EE 容器都严格执行规范的这一部分。您可以依赖于监听器按照您在 web.xml 中指定的顺序调用的事实。

您可以拥有一个应用程序级别的数据结构 (HashMap),每个过滤器/监听器在遇到来自请求的数据时都会对其进行更新。这将让每个 Listener 只更新必要的内容。您可以将公共(public)代码放在基础 Listener 中,这样就不会出现代码重复。

关于java - 如何确定 web.xml 中监听器的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/178562/

相关文章:

java - Box2D + LibGDX pong,所有主体 "stuck"

java - jetty 6 : How to remove a Servlet?

java - Spring Boot 多模块 servletDispatchers

java - 如何在 JPA 中持久保存 List<Object> 类型的属性?

javac编译并执行2个java文件

java - 如何根据两列的范围查询HBase?

java - 在 Spring Boot Web 应用程序中运行脚本

java - 将文件保存到在同一 Tomcat 实例中运行的另一个 Web 应用程序(不工作)

java - 如何下载 PrimeFaces showcase?

java - 如果 @Resource 无法解析,Glassfish/Wildfly 不会失败?