简而言之,我希望某个过滤器在 servlet 处理后运行,以检查请求属性中的值,并根据该值重定向到某个 URl。
在 web.xml 中,
我已将元素按顺序放在最后,在 doFilter 方法中我调用“chain.doFilter(request, response);”第一行然后我的逻辑随后执行。
那是在 tomcat 5.5 中,它在两台本地机器上工作正常,但在其他测试机器上却不行,tomcat 版本略有不同,在本地机器上是 tomcat 5.5.17,而在测试服务器上是 5.5。 27.
知道问题出在哪里吗? , 我很高兴分享答案,谢谢
网络.xml
<!-- #########################################################################
## Filters
######################################################################### -->
<filter>
<filter-name>other filters</filter-name>
</filter>
.
.
.
<filter>
<filter-name>UrlRedirectFilter</filter-name>
<filter-class>......filter.UrlRedirectFilter</filter-class>
</filter>
.
.
.
<filter>
<filter-name>other filters</filter-name>
</filter>
<!-- #########################################################################
## Filter Mappings
######################################################################### -->
<filter-mapping>
.
.
</filter-mapping>
<filter-mapping>
<filter-name>UrlRedirectFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- #########################################################################
## Servlet context listeners for application initialization.
######################################################################### -->
<listener>
<listener-class>....</listener-class>
</listener>
<!-- #########################################################################
## Servlets
######################################################################### -->
<servlet>
<servlet-name>...</servlet-name>
<servlet-class>..</servlet-class>
</servlet>
<!-- #########################################################################
## Servlet mappings
######################################################################### -->
<servlet-mapping>
<servlet-name>...</servlet-name>
<url-pattern>...</url-pattern>
</servlet-mapping>
<!-- #########################################################################
## Welcome File List
######################################################################### -->
<welcome-file-list>
<welcome-file>_ignorewelcomefiles_</welcome-file>
</welcome-file-list>
<!-- #########################################################################
## Error Pages
######################################################################### -->
</web-app>
最佳答案
似乎一切都很好:
- 检查日志是否有任何提示
- 在
chain.doFilter(..)
行之后添加一个日志消息/System.out.println
/断点,看看它是否真的被执行了。
关于java - 如何配置过滤器在 servlet 处理后工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3810137/