Servlets web.xml顺序或过滤器和侦听器
对于Java EE web应用程序, 我有一个实现ServletRequestListener的侦听器和一个过滤器 有没有办法在web.xml指定在侦听器之前调用过滤器 我已经尝试在侦听器之前声明筛选器及其映射, 但是侦听器仍然在以前执行 有什么想法吗Servlets web.xml顺序或过滤器和侦听器,servlets,servlet-filters,servlet-listeners,Servlets,Servlet Filters,Servlet Listeners,对于Java EE web应用程序, 我有一个实现ServletRequestListener的侦听器和一个过滤器 有没有办法在web.xml指定在侦听器之前调用过滤器 我已经尝试在侦听器之前声明筛选器及其映射, 但是侦听器仍然在以前执行 有什么想法吗 <filter> <filter-name>myfilter</filter-name> <filter-class>com.example.MyFilter</filte
<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>
我的过滤器
com.example.MyFilter
我的过滤器
/*
com.example.MyServletRequestListener
在调用任何筛选器之前将初始化ServletRequestListener.requestInitialized()
,在所有筛选器和服务方法返回之后将初始化ServletRequestListener.requestDestroyed()
。当浏览器(客户端)请求服务器时,类似(Tomcat)的容器为客户端请求HttpServletRequest和响应对象HttpServletResponse创建请求对象,并
如果您配置了实现“ServletRequestListener”的任何侦听器,则“public void requestInitialized(ServletRequestEvent sre)”方法将调用
容器创建请求和响应对象后,如果请求有任何侦听器,则侦听器将首先执行
在HttpServletRequest和HttpServletResponse分配给Filter之后,如果您已经配置了Filter
意味着ServletRequest的侦听器首先进入图片。
因此,在ServletRequest情况下,无法配置使filter在Listener之前执行…因此,无法在Listener.requestInitialized()之前执行filter.doFilter()?我正在阅读Servlet2.5规范,但没有找到这些信息。这是怎么解释的?