最近一段時間在搞javaweb,對其中的頁面跳轉中的請求轉發與重定向不是很清楚,百度到一遍文章,很是不錯,轉載給需要的人。
原文章地址:https://blog.csdn.net/zxfly6/article/details/80583804
一、頁面跳轉
1. 請求轉發:
(1) 使用requestDispatcher對象:
轉發格式:request.getRequestDispatcher("path").forward(response,request)
(2) 使用jsp動作元素:
<jsp:forward page=""/>
2. 請求重定向:
使用response的rsendRedirect方法:
重定向格式:response.sendRedirect("path");
3. 請求轉發與請求重定向的區別:
(轉自:https://www.cnblogs.com/chenkeyu/p/7230714.html)
(1) 請求轉發爲服務器內部跳轉,跳轉一次,客戶端接收結果,而不改變url地址,而請求重定向則跳轉兩次,既將結果返回給客戶端,又使客戶端的url地址改變。
(2) 請求轉發爲爲內部跳轉,頁面請求的對象一直存在,請求重定向則會結束上個頁面的請求。
(3) 請求轉發的傳參使用request對象方法setAttribute(“name”,value),請求重定向只需使用url傳參即可。