Java 成功登录后无法重定向到主页

Java 成功登录后无法重定向到主页,java,jakarta-ee,response.redirect,tomcat5.5,requestdispatcher,Java,Jakarta Ee,Response.redirect,Tomcat5.5,Requestdispatcher,场景:使用请求禁用器的include方法成功登录后重定向到主页 RequestDispatcher rd = request.getRequestDispatcher(uri); rd.include(request, response); 其中uri是主页的位置 在第二行中,出现以下异常: ClientAbortException: java.net.SocketException:Broken pipe 因此,我尝试了response.sendRedirect(),效果很好,因

场景:使用请求禁用器的
include
方法成功登录后重定向到主页

RequestDispatcher rd = request.getRequestDispatcher(uri);    
rd.include(request, response);
其中
uri
是主页的位置

在第二行中,出现以下异常:

ClientAbortException:  java.net.SocketException:Broken pipe
因此,我尝试了
response.sendRedirect()
,效果很好,因为由于这个异常,我不知道确切的路径,所以我想通过它

为此,我捕获了异常,并尝试在出现此异常时使用
catch
块中的
response.sendRedirect()
重定向到主页。否则,正常的
RequestDispatcher
include
将起作用但这会发生一个
非法状态异常


我已经努力寻找解决办法很多天了,但仍然没有成功。请提供有价值的建议。

为什么要重定向。。。包括吗?事实上我不知道是否有什么特别的原因。此代码以前由其他人编写。现在报告此问题,我正在调试:)我明白了。我想说,当您更改代码以使用正确的方法时,您的问题就解决了。重定向应始终使用
redirect
进行处理。我想知道这样做的具体原因(仅使用response.sendRedirect执行重定向)include接收指定资源的内容,并将其作为当前资源响应的一部分。重定向将请求发送到要处理的指定资源。例如,您包括脚本或CSS文件,但重定向到登录或签出页面。