【发布时间】:2011-04-04 13:28:14
【问题描述】:
如何在 servlet 的 doPost() 方法中指定重定向到另一个 servlet。
目前我正在使用
request.getRequestDispatcher("/WEB-INF/products.jsp").forward(request, response);
这是错误的,因为我在产品的 doGet() 方法中的参数没有被调用和初始化。
所以我在登录后留下了一个空的产品页面:/
【问题讨论】:
如何在 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);
【讨论】: