Cannot forward after response has been committed
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:349)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339)
at servlet.check.doError(check.java:123)
at servlet.check.doGet(check.java:83)
at servlet.check.doPost(check.java:106)
**在servlet中出现跳转失败的错误**
跳转方式一开始写为
public void doError(HttpServletRequest request,HttpServletResponse response,String str)
throws ServletException,IOException{
request.setAttribute("problem", str);
RequestDispatcher rd=getServletContext().getRequestDispatcher("/errorpage.jsp");
rd.forward(request, response);
}
虽然正确但是会报错不知道为什么,但是加上return就不会出现错误现象
改后正确的代码:
public void doError(HttpServletRequest request,HttpServletResponse response,String str)
throws ServletException,IOException{
request.setAttribute("problem", str);
RequestDispatcher rd=getServletContext().getRequestDispatcher("/errorpage.jsp");
try{
rd.forward(request, response);
return ;
}catch(Exception e){}
}