java轉(zhuǎn)發(fā)和重定向的區(qū)別
重定向和轉(zhuǎn)發(fā)有一個(gè)重要的不同:當(dāng)使用轉(zhuǎn)發(fā)時(shí),JSP容器將使用一個(gè)內(nèi)部的方法來(lái)調(diào)用目標(biāo)頁(yè)面,新的頁(yè)面繼續(xù)處理同一個(gè)請(qǐng)求,而瀏覽器將不會(huì)知道這個(gè)過(guò)程。 與之相反,重定向方式的含義是第一個(gè)頁(yè)面通知瀏覽器發(fā)送一個(gè)新的頁(yè)面請(qǐng)求。因?yàn)?,?dāng)你使用重定向時(shí),瀏覽器中所顯示的URL會(huì)變成新頁(yè)面的URL, 而當(dāng)使用轉(zhuǎn)發(fā)時(shí),該URL會(huì)保持不變。重定向的速度比轉(zhuǎn)發(fā)慢,因?yàn)闉g覽器還得發(fā)出一個(gè)新的請(qǐng)求。同時(shí),由于重定向方式產(chǎn)生了一個(gè)新的請(qǐng)求,所以經(jīng)過(guò)一次重定向后,request內(nèi)的對(duì)象將無(wú)法使用。
怎么選擇是重定向還是轉(zhuǎn)發(fā)呢?通常情況下轉(zhuǎn)發(fā)更快,而且能保持request內(nèi)的對(duì)象,所以他是第一選擇。但是由于在轉(zhuǎn)發(fā)之后,瀏覽器中URL仍然指向開始頁(yè)面,此時(shí)如果重載當(dāng)前頁(yè)面,開始頁(yè)面將會(huì)被重新調(diào)用。如果你不想看到這樣的情況,則選擇轉(zhuǎn)發(fā)。
轉(zhuǎn)發(fā)和重定向的區(qū)別
不要僅僅為了把變量傳到下一個(gè)頁(yè)面而使用session作用域,那會(huì)無(wú)故增大變量的作用域,轉(zhuǎn)發(fā)也許可以幫助你解決這個(gè)問(wèn)題。
重定向:以前的request中存放的變量全部失效,并進(jìn)入一個(gè)新的request作用域。
轉(zhuǎn)發(fā):以前的request中存放的變量不會(huì)失效,就像把兩個(gè)頁(yè)面拼到了一起。
- Javaweb-HttpServletResponse的sendRedirectch重定向方式
- 詳解Java從后臺(tái)重定向(redirect)到另一個(gè)項(xiàng)目的方法
- JavaWeb中轉(zhuǎn)發(fā)與重定向的區(qū)別小結(jié)
- 關(guān)于Javaweb的轉(zhuǎn)發(fā)和重定向詳解
- Java通過(guò)httpclient比較重定向和請(qǐng)求轉(zhuǎn)發(fā)
- Java請(qǐng)求轉(zhuǎn)發(fā)和請(qǐng)求重定向區(qū)別詳解
- JavaWeb中請(qǐng)求轉(zhuǎn)發(fā)和請(qǐng)求重定向的區(qū)別以及使用
- Javaweb請(qǐng)求轉(zhuǎn)發(fā)及重定向?qū)崿F(xiàn)詳解
- java 轉(zhuǎn)發(fā)和重定向區(qū)別及實(shí)例代碼
- Java中forward轉(zhuǎn)發(fā)與redirect重定向的區(qū)別
相關(guān)文章
springboot 2.0 mybatis mapper-locations掃描多個(gè)路徑的實(shí)現(xiàn)
這篇文章主要介紹了springboot 2.0 mybatis mapper-locations掃描多個(gè)路徑的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07MybatisPlus的IPage失效的問(wèn)題解決方案
這篇文章主要介紹了MybatisPlus的IPage失效的問(wèn)題解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01JAVA CountDownLatch(倒計(jì)時(shí)計(jì)數(shù)器)用法實(shí)例
這篇文章主要介紹了JAVA CountDownLatch(倒計(jì)時(shí)計(jì)數(shù)器)用法實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10SpringBoot整合MyBatisPlus配置動(dòng)態(tài)數(shù)據(jù)源的方法
這篇文章主要介紹了SpringBoot整合MyBatisPlus配置動(dòng)態(tài)數(shù)據(jù)源的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-05-05通過(guò)FeignClient調(diào)用微服務(wù)提供的分頁(yè)對(duì)象IPage報(bào)錯(cuò)的解決
這篇文章主要介紹了通過(guò)FeignClient調(diào)用微服務(wù)提供的分頁(yè)對(duì)象IPage報(bào)錯(cuò)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03AQS同步組件CyclicBarrier循環(huán)屏障用例剖析
這篇文章主要為大家介紹了AQS同步組件CyclicBarrier循環(huán)屏障用例剖析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08