【发布时间】:2014-03-11 13:39:50
【问题描述】:
您好,我正在使用简单的转发方法,但出现以下异常
java.lang.IllegalStateException: Cannot forward after response has been committed.
我知道如果我尝试在 sendRedirect() 之后进行转发,则会发生此异常,但在我的情况下,它很简单,但我仍然收到此异常。 有趣的部分是此代码在第二个 if 为真时有效。也就是说,
if(strCoyoteRequest.contains("BuildNPlay"))
这很好用。
但它不适用于其他条件。
以下是我的代码
String strForwardPage = new String();
String strQueryString = request.getQueryString();
String strCoyoteRequest = request.getRequestURI();
if(strCoyoteRequest.contains("AdminConsole"))
strForwardPage = "/AdminConsole/index.jsp";
else if(strCoyoteRequest.contains("BuildNPlay"))
strForwardPage = "/BuildNPlay/index.jsp";
else if(strCoyoteRequest.contains("Portal"))
strForwardPage = "/Portal/index.jsp";
else if(strCoyoteRequest.contains("ServiceDashBoard"))
strForwardPage = "/ServiceDashBoard/index.jsp";
RequestDispatcher dispatcher = request.getRequestDispatcher(strForwardPage);
response.setHeader("Cache-control", "no-cache");
response.setHeader("Pragma", "no-cache");
dispatcher.forward(request, response);
【问题讨论】:
-
请提供完整的堆栈跟踪
-
您是否在任何地方使用 out.print 只需检查一下,这可能是原因之一
标签: jsp jakarta-ee servlets