在不丢失请求参数的情况下将重定向发送到另一个servlet / JSP。

如何在servlet的doPost()方法中指定重定向到另一个servlet。

目前我正在使用

request.getRequestDispatcher("/WEB-INF/products.jsp").forward(request, response); 

这是错误的,因为我的产品的doGet()方法中的参数没有被调用和初始化。

登录后我留下了一个空的产品页面:/

您需要使用HttpServletResponse#sendRedirect()来发送重定向。 假设servlet映射到/products的URL模式:

 response.sendRedirect("/products"); 

通过这种方式,将指示webbrowser在给定的URL上触发新的HTTP GET请求,因此将调用servlet实例的doGet()方法,您可以在其中加载产品并转发到通常显示它们的JSP办法。

在您的doPost中,您可以随时致电:

 return doGet(request, response);