日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

JavaWeb第二讲 重定向与转发 doGet()与doPost()

發(fā)布時(shí)間:2024/8/26 java 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaWeb第二讲 重定向与转发 doGet()与doPost() 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

(一)重定向與轉(zhuǎn)發(fā)

轉(zhuǎn)發(fā)**(服務(wù)器行為)**

request.getRequestDispatcher("url").forward(request, response);

重定向**(客戶端行為)**

response.sendRedirect("url");

1.地址欄區(qū)別
Forward是服務(wù)器請求資源,服務(wù)器直接訪問目標(biāo)地址的url,把那個(gè)url的響應(yīng)內(nèi)容讀取過來,然后把這些內(nèi)容再發(fā)給瀏覽器。瀏覽器根本不知道服務(wù)器發(fā)送的內(nèi)容從哪里來的,所以地址欄不變。

Redirect是服務(wù)端根據(jù)邏輯,發(fā)送一個(gè)狀態(tài)碼,告訴瀏覽器重新去請求那個(gè)地址,所以地址欄顯示的是新的URL。Redirect利用服務(wù)器返回的狀態(tài)碼實(shí)現(xiàn)。客戶端瀏覽器請求服務(wù)器時(shí),服務(wù)器會返回一個(gè)狀態(tài)碼。服務(wù)器通過setStatus(int status)方法設(shè)置狀態(tài)碼。如果服務(wù)器返回301或者302,則瀏覽器會到新的網(wǎng)址重新請求該資源。

2.數(shù)據(jù)共享區(qū)別
Forward:轉(zhuǎn)發(fā)頁面和轉(zhuǎn)發(fā)到的頁面可以共享request里面的數(shù)據(jù)。
Redirect:不能共享數(shù)據(jù)。

3.應(yīng)用區(qū)別
Forward:一般用于用戶登陸的時(shí)候,根據(jù)角色轉(zhuǎn)發(fā)到相應(yīng)的模塊.
Redirect:一般用于用戶注銷登陸時(shí)返回主頁面和跳轉(zhuǎn)到其它的網(wǎng)站等

4.從效率來說
Forward:高。
Redirect:低。因?yàn)闉g覽器至少提交了兩次請求。

(二)doGet()與doPost()

1.get是用來從服務(wù)器上獲取數(shù)據(jù),而post是用來向服務(wù)器傳遞數(shù)據(jù);

2.get將表單中數(shù)據(jù)按照variable=value的形式,添加到action所指向的URL后面,并且兩者用" ? “連接,變量之間用” & "連接;而post是將表單中的數(shù)據(jù)放在form的數(shù)據(jù)體中,按照變量與值對應(yīng)的方式,傳遞到action屬性所指定的URL。

3.get是不安全的,因?yàn)樵趥鬏斶^程中,數(shù)據(jù)是被放在請求的URL中,對用戶可見;而post的所有操作對用戶來說都是不可見的。

4.get傳輸?shù)臄?shù)據(jù)量小,這主要應(yīng)為受url長度限制,通常在1024字節(jié)左右;而post可以傳輸大量的數(shù)據(jù),所有上傳文件只能用post提交。

5.get限制form表單的數(shù)據(jù)集必須為ASCII字符;而post支持整個(gè)IS01-0646字符集。

6.get是form表單的默認(rèn)方法。

總結(jié)

以上是生活随笔為你收集整理的JavaWeb第二讲 重定向与转发 doGet()与doPost()的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。