我有一个具有表单的JSP页面。当按下这种形式的按钮时,ID称为我的MainServlet。这是我的Servlet的示例
/***** MainServlet *****/ /* Call the servlet that comunicate with database */ request.getRequestDispatcher("Servlet1").forward(request,response) /* Return on the same JSP that have invoke MainServlet */ request.getRequestDispatcher("myJsp.jsp").forward(request,response); return;
这是错误的,因为当我按下表单中的按钮时,服务器返回错误: “提交响应后无法转发”
我怎么解决这个问题?
谢谢。
您不能同时转发到两个不同的资源。
您需要再次从Servlet1转到myJsp.jsp使用request.getRequestDispatcher("myJsp.jsp").forward(request,response);
Servlet1
myJsp.jsp
request.getRequestDispatcher("myJsp.jsp").forward(request,response);
您不能直接转发两次,因为一旦执行一次,您的响应就已经提交,并且将为第一个资源提供服务。
您可以使用条件语句,这些条件语句将根据适当的请求转发到适当的资源。