重定向和請求轉發:
請求轉發是發生在服務器的內部,整個過程就一個請求。
重定向是兩個請求。在非查詢(增刪改)之后都需要重定向到查詢。
請求轉發的:
重定向的:
代碼部分:
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 }
當執行重定向的時候在瀏覽器里面:
當你回車的時候瀏覽器的地址會發生變化:
你看后台的數據之后出現一次 無論你刷新多少次 后台結果只會出現一次:
當執行請求轉發的時候,在瀏覽器里面輸入:
你刷新幾次后台打印幾次:
並且瀏覽器的地址不變