码迷,mamicode.com
首页 > 其他好文 > 详细

servlet多次跳转报IllegalStateException异常

时间:2015-07-27 12:30:25      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:

当发生在如下错误的时候,有一个方案可行,

 

"java.lang.IllegalStateException: Cannot forward after response has been committed “

 

当你有多个跳转的页面的语句时候,好好检查一下,当 转发 或者 重定向的时候,需要在后加一个retrun 即可。服务器中不允许多次跳转,否则会有这个错误。

 

因为服务器端使用sendRedirect跳转到客户端的时候,不能在使用req.getRequestDispatcher("跳转的页面").forward(req, reqs);跳转;所以在跳转之后,return就不会往下执行。

 

  1. protected void login(HttpServletRequest req, HttpServletResponse reqs) throws ServletException, IOException {  
  2.     // TODO Auto-generated method stub  
  3.     if(req.getUserPrincipal()!=null){  
  4.         String userID = req.getRemoteUser();  
  5.         boolean bol = req.isUserInRole(USER_ROLE_ADMIN);  
  6.         UserModel userModel =connectionDao.getUserModelByUserID(userID);  
  7.         if(bol){  
  8.             req.getSession().setAttribute("user",userModel);  
  9.             reqs.sendRedirect(req.getContextPath()+"/admin/main.jsp");  
  10.             return;  
  11.         }else{  
  12.             reqs.sendRedirect(req.getContextPath()+"/index.jsp");  
  13.             return;  
  14.         }  
  15.     }  

servlet多次跳转报IllegalStateException异常

标签:

原文地址:http://www.cnblogs.com/balfish/p/4679649.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!