0
我有一个Spring/JSF应用程序重定向到一个新窗口中打开报告(基于LogiInfo报告工具)。在使用resp.sendRedirect(reportURL);
启动之前,已经应用了servlet过滤器来附加/修改某些参数。在我的测试环境中,此功能非常完美,所有报告都按预期启动。但是,在客户端环境中,部分报告不会启动,最终会在新窗口中显示403 Forbidden
错误。经过一些调试后,我意识到URL也没有被修改,因为doFilter()
本身没有被这些子报告调用(事实上Tomcat甚至没有收到这些URL的'GET'请求)。Servlet过滤器有选择地工作
(UPDATE) 两者之间的主要区别是:
- 测试服务器在Tomcat 7.0运行,而客户端环境上运行8.0。
- Web服务器是Apache 2.2的测试环境&的Apache 2.4的客户端环境
这是一个奇怪的问题,我不知道去哪里找,因为在.xhtml
页绝对没有差调用这些报告或他们的JavaScript。 有关这种选择性行为为何发挥作用的任何想法?
仍在调试此问题,并意识到403错误源自Apache Web服务器而不是Tomcat服务器。它的版本与测试环境不同(使用该信息更新了问题)。 – javshak