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

时间:2011-04-04 13:28:14

标签: java jsp servlets

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

目前我正在使用

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

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

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

2 个答案:

答案 0 :(得分:17)

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

的URL模式
response.sendRedirect("/products");

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

答案 1 :(得分:1)

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

return doGet(request, response);