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