最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java 中sendredirect()和forward()方法的區(qū)別

 更新時間:2017年08月03日 17:30:00   作者:yoxibaga  
這篇文章主要介紹了java 中sendredirect()和forward()方法的區(qū)別,需要的朋友可以參考下

 HttpServletResponse.sendRedirect與RequestDispatcher.forward方法都可以實現(xiàn)獲取相應(yīng)URL資源。

sendRedirect實現(xiàn)請求重定向,forward實現(xiàn)的是請求轉(zhuǎn)發(fā)。

在web服務(wù)器內(nèi)部的處理機制也是不一樣的。 

1. 跳轉(zhuǎn)方式

 運用forward方法只能重定向到同一個Web應(yīng)用程序中的一個資源。而sendRedirect方法可以讓你重定向到任何URL。 

 表單form的action= "/uu ";sendRedirect( "/uu ");表示相對于服務(wù)器根路徑。

 如http://localhost:8080/Test應(yīng)用(則提交至http://localhost:8080/uu); 

 Forward代碼中的 "/uu "則代表相對與WEB應(yīng)用的路徑。如http://localhost:8080/Test應(yīng)用(則提交至http://localhost:8080/Test/uu); 

2.forward重定向后,瀏覽器url地址不變,sendRedirect轉(zhuǎn)發(fā)后,瀏覽器url地址變?yōu)槟康膗rl地址。

forward()無法重定向至有frame的jsp文件,可以重定向至有frame的html文件, 同時forward()無法在后面帶參數(shù)傳遞,

比如servlet?name=frank,這樣不行,可以程序內(nèi)通過response.setAttribute( "name ",name)來傳至下一個頁面.  

3. 使用forward重定向的過程,是瀏覽器先向目的Servlet發(fā)送一次Request請求,然后再服務(wù)器端由Servlet再將請求發(fā)送到目的url,再由服務(wù)器端Servlet返回Response到瀏覽器端。瀏覽器和服務(wù)器一次請求響應(yīng)。 

使用sendRedirect轉(zhuǎn)發(fā)的過程,瀏覽器先向目的Servlet發(fā)送一次請求,Servlet看到sendRedirect將目的url返回到瀏覽器,瀏覽器再去請求目的url,目的url再返回response到瀏覽器。瀏覽器和服務(wù)器兩次請求響應(yīng)。

4. forward方法的調(diào)用者與被調(diào)用者之間共享Request和Response

sendRedirect方法由于兩次瀏覽器服務(wù)器請求,所以有兩個Request和Response。 

如果使用request.setAttribute傳遞一些屬性就需要用forward,如果想要跳轉(zhuǎn)到別的應(yīng)用的資源,就需要用sendRedirect。 

5.無論是forward方法還是sendRedirect方法調(diào)用前面都不能有PrintWriter輸出到客戶端。 

forward方法報錯: Java.lang.IllegalStateException: Cannot forward after response has been committed 

sendRedirect報錯:java.lang.IllegalStateException
at org.apache.catalina.connector.ResponseFacade.sendRedirect(ResponseFacade.java:435)

總結(jié)

以上所述是小編給大家介紹的java 中sendredirect()和forward()方法的區(qū)別,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Java中的多態(tài)、抽象類和接口詳解

    Java中的多態(tài)、抽象類和接口詳解

    這篇文章詳細講解了Java的多態(tài)、抽象類和接口,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • Springboot跨域CORS處理實現(xiàn)原理

    Springboot跨域CORS處理實現(xiàn)原理

    這篇文章主要介紹了Springboot跨域CORS處理實現(xiàn)原理,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04
  • Java 字符串轉(zhuǎn)float運算 float轉(zhuǎn)字符串的方法

    Java 字符串轉(zhuǎn)float運算 float轉(zhuǎn)字符串的方法

    今天小編就為大家分享一篇Java 字符串轉(zhuǎn)float運算 float轉(zhuǎn)字符串的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • Mybatis中攔截器的簡單實現(xiàn)方法

    Mybatis中攔截器的簡單實現(xiàn)方法

    這篇文章主要給大家介紹了關(guān)于Mybatis中攔截器的簡單實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用Mybatis具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • java實現(xiàn)馬踏棋盤算法(騎士周游問題)

    java實現(xiàn)馬踏棋盤算法(騎士周游問題)

    這篇文章主要為大家詳細介紹了java實現(xiàn)馬踏棋盤算法,解決騎士周游問題,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • 詳解如何在SpringBoot項目中使用統(tǒng)一返回結(jié)果

    詳解如何在SpringBoot項目中使用統(tǒng)一返回結(jié)果

    在一個完整的項目中,如果每一個控制器的方法都返回不同的結(jié)果,那么對項目的維護和擴展都會很麻煩。因此,本文為大家準(zhǔn)備了SpringBoot項目中使用統(tǒng)一返回結(jié)果的方法,需要的可以參考一下
    2022-10-10
  • 基于 IntelliJ IDEA 模擬 Servlet 網(wǎng)絡(luò)請求示例

    基于 IntelliJ IDEA 模擬 Servlet 網(wǎng)絡(luò)請求示例

    這篇文章主要介紹了基于 IntelliJ IDEA 模擬 Servlet 網(wǎng)絡(luò)請求示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • 關(guān)于MyBatis模糊查詢的幾種實現(xiàn)方式

    關(guān)于MyBatis模糊查詢的幾種實現(xiàn)方式

    在實際項目中,我們會經(jīng)常對數(shù)據(jù)做一些模糊查詢的操作,這時候就需要利用到 like字段,那么在Mybatis中,有哪些方式可以實現(xiàn)模糊查詢呢,需要的朋友可以參考下
    2023-05-05
  • 深入探討Java多線程中的volatile變量

    深入探討Java多線程中的volatile變量

    這篇文章主要為大家詳細并深入的探討Java多線程中的volatile變量,volatile用來確保將變量的更新操作通知到其他線程,保證了新值能立即同步到主內(nèi)存,以及每次使用前立即從主內(nèi)存刷新,感興趣的小伙伴們可以參考一下
    2016-02-02
  • Java實現(xiàn)提取圖片邊緣的示例代碼

    Java實現(xiàn)提取圖片邊緣的示例代碼

    這篇文章主要為大家詳細介紹了如何利用Java實現(xiàn)提取圖片邊緣的功能,文中的示例代碼講解詳細,具有一定的學(xué)習(xí)價值,感興趣的小伙伴可以了解一下
    2023-06-06

最新評論

长泰县| 涡阳县| 安溪县| 民权县| 平谷区| 湖南省| 平邑县| 高淳县| 格尔木市| 湘阴县| 尼木县| 抚州市| 名山县| 彩票| 邵阳县| 奉节县| 隆安县| 丰宁| 修水县| 尤溪县| 广河县| 大余县| 灵山县| 朝阳县| 怀柔区| 平安县| 牙克石市| 宣化县| 平罗县| 同德县| 尉氏县| 金湖县| 本溪| 合水县| 富裕县| 靖西县| 吴忠市| 佛学| 冀州市| 重庆市| 大同县|