關(guān)于轉(zhuǎn)發(fā)和重定向的區(qū)別是什么,轉(zhuǎn)發(fā)和重定向有什么區(qū)別這個(gè)問題很多朋友還不知道,今天小六來為大家解答以上的問題,現(xiàn)在讓我們一起來看看吧!
1、重定向和轉(zhuǎn)發(fā)有一個(gè)重要的不同:當(dāng)使用轉(zhuǎn)發(fā)時(shí),JSP容器將使用一個(gè)內(nèi)部的方法來調(diào)用目標(biāo)頁面,新的頁面繼續(xù)處理同一個(gè)請求,而瀏覽器將不會(huì)知道這個(gè)過程。
2、 與之相反,重定向方式的含義是第一個(gè)頁面通知瀏覽器發(fā)送一個(gè)新的頁面請求。
3、因?yàn)?,?dāng)你使用重定向時(shí),瀏覽器中所顯示的URL會(huì)變成新頁面的URL, 而當(dāng)使用轉(zhuǎn)發(fā)時(shí),該URL會(huì)保持不變。
4、重定向的速度比轉(zhuǎn)發(fā)慢,因?yàn)闉g覽器還得發(fā)出一個(gè)新的請求。
5、同時(shí),由于重定向方式產(chǎn)生了一個(gè)新的請求,所以經(jīng)過一次重定向后,request內(nèi)的對象將無法使用。
6、 怎么選擇是重定向還是轉(zhuǎn)發(fā)呢?通常情況下轉(zhuǎn)發(fā)更快,而且能保持request內(nèi)的對象,所以他是第一選擇。
7、但是由于在轉(zhuǎn)發(fā)之后,瀏覽器中URL仍然指向開始頁面,此時(shí)如果重載當(dāng)前頁面,開始頁面將會(huì)被重新調(diào)用。
8、如果你不想看到這樣的情況,則選擇轉(zhuǎn)發(fā)。
9、 轉(zhuǎn)發(fā)和重定向的區(qū)別 不要僅僅為了把變量傳到下一個(gè)頁面而使用session作用域,那會(huì)無故增大變量的作用域,轉(zhuǎn)發(fā)也許可以幫助你解決這個(gè)問題。
10、 重定向:以前的request中存放的變量全部失效,并進(jìn)入一個(gè)新的request作用域。
11、 轉(zhuǎn)發(fā):以前的request中存放的變量不會(huì)失效,就像把兩個(gè)頁面拼到了一起。
本文分享完畢,希望對大家有所幫助。
標(biāo)簽:
免責(zé)聲明:本文由用戶上傳,如有侵權(quán)請聯(lián)系刪除!