0

我有一个具有表单的 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;

这是错误的,因为当我按下表单中的按钮时,我的服务器返回错误: “提交响应后无法转发”

我怎么解决这个问题?

谢谢。

4

2 回答 2

1

您不能同时转发到两个不同的资源。

您需要再次从转发Servlet1myJsp.jsp使用request.getRequestDispatcher("myJsp.jsp").forward(request,response);

您不能直接转发两次,因为当您执行一次时,您的响应已经提交,并且将使用第一个资源为客户端提供服务。

您可以使用条件语句,根据适当的请求转发到适当的资源。

于 2013-10-03T10:03:50.207 回答
0

一旦请求被转发,剩余的代码就不会被执行。这就像在一个方法中一个接一个地调用 return 语句一样。如果你想让两个前锋都工作。您应该使用条件,根据条件,将执行其中一个 forward 语句。

于 2013-10-03T10:04:56.563 回答