頁面的轉發:
轉發的作用:在多個頁面交互過程中實現請求數據的共享
轉發的實現:RequestDispatcher對象,forward()方法
RequestDispatcher rd = request.getRequestDispatcher("welcome.jsp");
rd.forward(request, response);
//rd = request.getRequestDispatcher("welcome.jsp").forward(request, response);
將當前接收的用戶請求,發送給服務器的其他資源使用
頁面實現了跳轉,請求的信息是否也一起轉移呢?答案是不。Because --->
request,請求的生命週期很短。
request.getParameter("uname");//傳值null
使用範圍:在一次請求範圍內,若用完了,則銷燬了。
新的請求,則request中沒有數據。
頁面的重定向:
重定向:response
跳轉到一個新的頁面。
不會傳遞上一次請求參數。
response.sendRedirect("URL");
//URL後可以拼接參數。例如:----->
response.sendRedirect("ch0203.jsp?uname="+uname+"&pwd="+pwd);
2.轉發可以傳遞信息,重定向不能
轉發在應用服務器實現,信息可以多個頁面數據的傳遞,地址欄的信息不會發生變化
重定向在客戶端實現,沒有內置對象等,只有一個頁面,不能傳遞信息,地址欄信息會發生變化
3.轉發是在服務器端發揮作用,通過forward方法將提交信息在多個頁面間進行傳遞
轉發市在服務器內部控制權的轉移,客戶端瀏覽器的地址欄不會顯示出轉向後的地址
重定向時在客戶端發揮作用,通過請求新的地址實現頁面轉向
重定向時通過瀏覽器重新請求地址,在地址欄中可以顯示轉向後的地址