gpt4 book ai didi

servlets - web.xml 顺序或过滤器和监听器

转载 作者:行者123 更新时间:2023-12-04 16:32:06 28 4
gpt4 key购买 nike

对于 Java EE Web 应用程序,
我有一个实现 ServletRequestListener 的监听器和一个过滤器。

有没有办法在 web.xml 中指定应该在监听器之前调用过滤器?

我已经尝试在监听器之前声明过滤器及其映射,
但监听器仍然在之前执行。

任何的想法?

  <filter>
<filter-name>myfilter</filter-name>
<filter-class>com.example.MyFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>myfilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>com.example.MyServletRequestListener </listener-class>
</listener>

最佳答案

当 Browser(client) 向 Server 发出请求时,像 (Tomcat) 这样的容器会为客户端请求创建 Request Object HttpServletRequest 和 Response Object HttpServletResponse 和
如果您配置任何实现“ServletRequestListener”的监听器,则“public void requestInitialized(ServletRequestEvent sre)”方法将调用

容器创建请求和响应对象后,如果有任何请求的监听器,则监听器将首先执行.....

在将 HttpServletRequest 和 HttpServletResponse 分配给 Fillter 之后,如果您已经配置了 Fillter....

意味着 Listener 首先出现在 ServletRequest 中。
所以在 ServletRequest 的情况下,没有办法配置让 Fillter 在 Listener 之前执行....

关于servlets - web.xml 顺序或过滤器和监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10191388/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com