Servlet过滤器有选择地工作

时间:2017-07-26 07:14:09

标签: javascript spring tomcat filter url-redirection

我有一个Spring / JSF应用程序,它在新窗口中重定向到打开报告(基于LogiInfo报告工具)。已应用servlet过滤器在使用resp.sendRedirect(reportURL);启动之前追加/修改某些参数 在我的测试环境中,这非常有效,所有报告都按预期启动。但是,在客户端环境中,报告的子集不会启动并最终在新窗口中显示403 Forbidden错误。经过一些调试后,我意识到URL也没有被修改,因为doFilter()本身没有为这些报告子集调用(实际上Tomcat甚至没有收到这些URL的'GET'请求)。

(UPDATE) 两者之间的主要区别是:

  1. 测试服务器在Tomcat 7.0上运行,而客户端环境在8.0上运行。
  2. Web服务器是测试环境中的Apache 2.2& Apache 2.4在客户端环境中
  3. 这是一个奇怪的问题,我不知道在哪里看,因为调用这些报告或其javascript的.xhtml页面完全没有区别。 知道为什么这种选择性行为在起作用吗?

1 个答案:

答案 0 :(得分:0)

结果证明这是与防火墙相关的问题,与Apache或Tomcat服务器无关。它阻止了某些报告中的URL,因为它们中包含单引号。