Jsp 为什么重定向与以前的请求头一起出现

Jsp 为什么重定向与以前的请求头一起出现,jsp,redirect,servlets,jakarta-ee,servlet-filters,Jsp,Redirect,Servlets,Jakarta Ee,Servlet Filters,当浏览器应该发出一个带有全新请求和响应对象的请求时,我发现sendRedirect方法为什么会发送以前的头文件 如果我提供一些背景信息,我们使用的是一个JavaCMS平台,它在一些罕见的情况下转储堆栈跟踪,从而公开所使用的技术。这是通过pen测试发现的,被视为安全威胁。所以我们被建议通过显示一个正常错误页面来修复它 下面是我用于重现此问题的请求的屏幕截图。 当发出请求时,它将通过CMS的过滤链。此问题发生在CMS平台过滤器链中的一个过滤器中。因此,我创建了以下自定义过滤器,并将其作为第一个过滤

当浏览器应该发出一个带有全新请求和响应对象的请求时,我发现sendRedirect方法为什么会发送以前的头文件

如果我提供一些背景信息,我们使用的是一个JavaCMS平台,它在一些罕见的情况下转储堆栈跟踪,从而公开所使用的技术。这是通过pen测试发现的,被视为安全威胁。所以我们被建议通过显示一个正常错误页面来修复它

下面是我用于重现此问题的请求的屏幕截图。

当发出请求时,它将通过CMS的过滤链。此问题发生在CMS平台过滤器链中的一个过滤器中。因此,我创建了以下自定义过滤器,并将其作为第一个过滤器,以便任何请求在到达CMS平台过滤器链之前首先进入此自定义过滤器。这是最后一次回到客户机。此过滤器类似于直通过滤器,不进行任何处理。唯一的任务是,如果链中的任何地方出现错误,则重定向到通用错误页面

我正在尝试重定向到CMS中托管的页面。发生的情况是,当重定向请求到达服务器时,它包含旧的请求头,当它通过过滤器链时,这个问题会一次又一次地发生

注意:我无法避免CMS平台过滤器链,因为它是从JCR(java内容存储库)动态构建页面的过滤器链

为什么重定向请求有以前的头,有办法清除它们吗?有没有更好的方法来处理标题

如果我可以清除旧的标题,然后我可以通过CMS过滤链发送第二个网页请求,它将毫无问题地服务于错误页面

第二个选项是创建一个静态html网页,并在重定向到此网页时避免筛选链。客户不喜欢第二个选项

注意:如果我可以去掉以前的标题,那么在没有显式重定向的情况下,我认为下面的内容也应该可以工作

 <error-page>
    <error-code>500</error-code>
    <location>/500-internal-error.html</location>
 </error-page>

500
/500-internal-error.html

如果我弄错了,请纠正我的错误,但标题中不包括会话映射吗?这需要由web服务器在标头中传递,以保持这种状态。为True,但我们没有维护/拥有会话。
 <error-page>
    <error-code>500</error-code>
    <location>/500-internal-error.html</location>
 </error-page>