轉發與重定向的區別
初學者,一直分不清轉發與重定向的區別,今天無意看到了這麼一段解釋,感覺不錯就,分享一下吧。
重定向和轉發有一個重要的不同:當使用轉發時,JSP容器將使用一個內部的方法來呼叫目標頁面,新的頁面繼續處理同一個請求,而瀏覽器將不會知道這個過程。 與之相反,重定向方式的含義是第一個頁面通知瀏覽器傳送一個新的頁面請求。因為,當你使用重定向時,瀏覽器中所顯示的URL會變成新頁面的URL, 而當使用轉發時,該URL會保持不變。重定向的速度比轉發慢,因為瀏覽器還得發出一個新的請求。同時,由於重定向方式產生了一個新的請求,所以經過一次重定向後,request內的物件將無法使用。 怎麼選擇是重定向還是轉發呢?通常情況下轉發更快,而且能保持request內的物件,所以他是第一選擇。但是由於在轉發之後,瀏覽器中URL仍然指向開始頁面,此時如果過載當前頁面,開始頁面將會被重新呼叫。如果你不想看到這樣的情況,則選擇轉發。 轉發和重定向的區別 不要僅僅為了把變數傳到下一個頁面而使用session作用域,那會無故增大變數的作用域,轉發也許可以幫助你解決這個問題。 重定向:以前的request中存放的變數全部失效,並進入一個新的request作用域。 轉發:以前的request中存放的變數不會失效,就像把兩個頁面拼到了一起。
相關文章
- 轉發和重定向的區別?
- 轉發和重定向的過程和區別
- Javaweb的轉發與重定向的區別以及解決重定向不能共享資料的問題JavaWeb
- 【轉發與重定向(二)】
- servlet 轉發與重定向Servlet
- 請求轉發與URL重定向
- 轉發和重定向
- Shell重定向&>file、2>&1、1>&2的區別
- Gson轉換與JSONObject區別JSONObject
- Springmvc中轉發和重定向SpringMVC
- Spring MVC 轉發和重定向SpringMVC
- XHTML?它與 HTML的區別?如何轉換HTML
- 新聞稿釋出中首發來源與轉載的區別
- 轉載_Linux程式與執行緒的區別Linux執行緒
- [轉帖]Dockerfile中CMD與ENTRYPOINT命令的區別Docker
- 在JavaScript中,DOM物件與jQuery物件的區別與轉換JavaScript物件jQuery
- ??與?:的區別
- jmeter學習指南之HTTP請求中自動重定向和跟隨重定向的區別JMeterHTTP
- 塊元素和行內元素的區別與轉換
- 教你如何實現SpringCloud URL的重定向及轉發SpringGCCloud
- c#中Array,ArrayList 與List<T>的區別、共性與轉換C#
- SpringMVC---02---實現頁面的跳轉 轉向與重定向SpringMVC
- [轉]重定向輸出
- 微信開發中 openID 與 unionID 的區別
- 執行緒 並行 與 併發 的區別執行緒並行
- 軟體定製開發與SaaS的區別
- const與static的區別
- HTTP 與 HTTPS 的區別HTTP
- getAttribute() 與 attr() 的區別
- @import與<link> 的區別Import
- Postgresql與MySQL的區別MySql
- HashSet與HashMap的區別HashMap
- HashTable與ConcurrentHashMap的區別HashMap
- maven與ant的區別Maven
- __new()__ 與 __init()__的區別
- @Autowired 與@Resource的區別
- gulp與webpack的區別Web
- free 與 CFRelease 的區別
- post與get的區別