How to solve "java.lang.IllegalStateException: Cannot forward after response has been committed" error
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42  | package simple; import java.io.IOException; import java.util.Date; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class SimpleController extends HttpServlet {     @Override     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {         super.doGet(request, response);         processRequest(request, response);     }     @Override     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {         super.doPost(request, response);         processRequest(request, response);     }     private void processRequest(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{         String type = request.getParameter("type");         Object resultObject = null;         if(type == null || type.equals("greeting")) {             resultObject = "안녕하세요 ";         } else if(type.equals("date")) {             resultObject = new Date();         } else {             resultObject = "Invalid Type";         }         request.setAttribute("result", resultObject);         RequestDispatcher dispatcher = request.getRequestDispatcher("/chap18/simpleView.jsp");         dispatcher.forward(request, response);     } }  | cs | 
When I run above controller, I met "java.lang.IllegalStateException: Cannot forward after response has been committed" error.
This is because The super.doGet(request, response); and super.doPost(request, response); calls.
I solve this error by erasing super.doGet(request, response); and super.doPost(request, response);

0 댓글