1.重定向
状态码:302
地址栏:发生改变
使用req.sendRedirect("");
2.转发
状态码:200
地址栏:不发生改变
使用resp.getRequestDispatcher("").forword(req,resp);
请求路径为@WebServlet("/aServlet"),使用重定向req.sendRedirect("/bServlet"),那么数据存储在请求路径为/bServlet的Request域对象下;
请求路径为@WebServlet("/aServlet"),使用转发resp.getRequestDispatcher("/cServlet").forword(req,resp),那么数据只存储在请求路径为/aServlet的Request域对象下;
@WebServlet("/aServlet")
public class aServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.sendRedirect("/bServlet");
}
}
@WebServlet("/bServlet")
public class bServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
}
}
地址栏(发生变化):
@WebServlet("/aServlet")
public class aServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.getRequestDispatcher("/bServlet").forward(req,resp);
}
}
地址栏(不发生变化):