【问题标题】:How to configure a filter to work after servlet processing?如何配置过滤器在 servlet 处理后工作?
【发布时间】:2011-04-18 03:08:27
【问题描述】:

简而言之,我希望某个过滤器在 servlet 处理后运行,以检查请求属性中的值,并根据该值重定向到某个 URl。

在 web.xml 中,

我已将元素按顺序放在最后,并且在 doFilter 方法中我调用“chain.doFilter(request, response);”第一行然后我的逻辑随后执行。

在 tomcat 5.5 中,它在两台本地机器上运行良好,但在其他测试机器上却不行,tomcat 版本略有不同,在本地机器上它的 tomcat 5.5.17 而在测试服务器上它的 5.5。 27.

您知道问题可能是什么吗? ,感谢分享答案,谢谢

web.xml



 
    其他过滤器过滤器>
    .
    .
    .
  
   UrlRedirectFilter......filter.UrlRedirectFilter过滤器>
    .
    .
    .

  
    其他过滤器过滤器>





  
     .
     .
  

  
   UrlRedirectFilter/*.......名称>
   .....名称>
    ...模式>
  



  


  
    _ignorewelcomefiles_

【问题讨论】:

    标签: java servlets servlet-filters


    【解决方案1】:

    似乎一切都很好:

    1. 检查日志以获取任何提示
    2. 在chain.doFilter(..)行之后添加一条日志消息/System.out.println/断点,看看它是否真的被执行了。

    【讨论】:

    • 我还想补充一下,尝试将代码放入 Try 块中,并将 printstacktrace 放入 catch 块中,同时检查记录器是否配置正确
    • 我尝试添加 system.out.line,是的,它没有被执行。
    • @Amr 然后将您的 web.xml 片段粘贴到此处。和过滤器代码
    • 如果其中一个过滤器抛出异常,它将停止过滤器链的执行,对吗?
    • @Amr:您需要修复此异常的原因,然后过滤器将按预期继续其代码逻辑。如果您在修复此异常时遇到问题,请提出问题并提供有关异常和跟踪的所有详细信息。
    猜你喜欢
    • 2015-04-02
    • 1970-01-01
    • 2015-07-08
    • 1970-01-01
    • 2017-11-25
    • 2021-04-11
    • 2014-08-24
    • 2011-10-17
    • 2013-07-15
    相关资源
    最近更新 更多