真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

sendredirect()與forward()函數(shù)在java中的區(qū)別有哪些

sendredirect()與forward()函數(shù)在java中的區(qū)別有哪些?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),高縣企業(yè)網(wǎng)站建設(shè),高縣品牌網(wǎng)站建設(shè),網(wǎng)站定制,高縣網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,高縣網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

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

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

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

1. 跳轉(zhuǎn)方式

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

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

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

 Forward代碼中的 "/uu "則代表相對(duì)與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文件, 同時(shí)forward()無法在后面帶參數(shù)傳遞,

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

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

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

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

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

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

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

forward方法報(bào)錯(cuò): Java.lang.IllegalStateException: Cannot forward after response has been committed 

sendRedirect報(bào)錯(cuò):java.lang.IllegalStateException
at org.apache.catalina.connector.ResponseFacade.sendRedirect(ResponseFacade.java:435)

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。


當(dāng)前名稱:sendredirect()與forward()函數(shù)在java中的區(qū)別有哪些
URL鏈接:http://weahome.cn/article/jeidog.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部