在不丢失请求参数的情况下将重定向发送到另一个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);