requestについてgetRequestDispatcher("######").forward(req, resp)

1930 ワード

JAva webエラー:java.lang.IllegalStateException: Cannot forward after response has been committed…
いつの间にかまた1つの穴の中に落ちて...反省した后に、やはり総括が不十分だと感じて、最后の结末の时突然自分が以前すでにこのような事を知っていたことを思い出しますためです..バカな感じが・・・
例えば:(一部の論理省略...)
	public void checkPass(HttpServletRequest req, HttpServletResponse resp,UserService userService)  {
		 User user = null;
		
         String name = req.getParameter("username");
         String pass = req.getParameter("pass");
         
         log.debug("pass"+pass);
         
         //***************  user    ***************
         //
         if(user == null){
        	 loginMsg = "     ";
			 req.getSession().setAttribute("loginMsg", loginMsg);
			 try {
				req.getRequestDispatcher("login.jsp").forward(req, resp);
			} catch (ServletException | IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
         }
         else{
        	 if(!user.getPassword().equals(pass)){
        		 loginMsg = "    ";
    			 req.getSession().setAttribute("loginMsg", loginMsg);
    			 try {
					req.getRequestDispatcher("login.jsp").forward(req, resp);
				} catch (ServletException | IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
        	 }
        	 else{
        		 req.getSession().setAttribute("user", user);
        		
					try {
						req.getRequestDispatcher("index.jsp").forward(req, resp);
					} catch (ServletException | IOException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
			
        	 }
        	//     ,        ,            forward(),    
//        	 try {
//				req.getRequestDispatcher("login.jsp").forward(req, resp);
//			} catch (ServletException | IOException e) {
//				// TODO Auto-generated catch block
//				e.printStackTrace();
//			}
         }
	}