请求转发与重定向
重定向和请求转发:
请求转发是发生在服务器的内部,整个过程就一个请求。
重定向是两个请求。在非查询(增删改)之后都需要重定向到查询。
请求转发的:
重定向的:
代码部分:
1 @WebServlet(value = "/user",name = "UserServlet") 2 public class UserServlet extends HttpServlet { 3 4 @Override 5 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 6 7 String id=req.getParameter("id"); 8 9 System.out.println(id); 10 11 //实现请求转发的代码 12 //req.getRequestDispatcher("index.jsp").forward(req,resp); 13 14 //实现重定向的代码 15 resp.sendRedirect("index.jsp"); 16 17 } 18 }
当执行重定向的时候在浏览器里面:
当你回车的时候浏览器的地址会发生变化:
你看后台的数据之后出现一次 无论你刷新多少次 后台结果只会出现一次:
当执行请求转发的时候,在浏览器里面输入:
你刷新几次后台打印几次:
并且浏览器的地址不变