第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

node.js forward和redirect的區(qū)別

node.js forward和redirect的區(qū)別

鳳凰求蠱 2019-03-12 10:08:32
node.js forward和redirect的區(qū)別
查看完整描述

3 回答

?
慕的地10843

TA貢獻1785條經驗 獲得超8個贊

戶向服務器發(fā)送了一次HTTP請求,該請求肯能會經過多個信息資源處理以后才返回給用戶,各個信息資源使用請求轉發(fā)機制相互轉發(fā)請求,但是用戶是感覺不到請求轉發(fā)的。根據(jù)轉發(fā)方式的不同,可以區(qū)分為直接請求轉發(fā)(Forward)和間接請求轉發(fā)(Redirect)兩種有何區(qū)別呢?

1.從地址欄顯示來說
forward是服務器請求資源,服務器直接訪問目標地址的URL,把那個URL的響應內容讀取過來,然后把這些內容再發(fā)給瀏覽器.瀏覽器根本不知道服務器發(fā)送的內容從哪里來的,所以它的地址欄還是原來的地址.
redirect是服務端根據(jù)邏輯,發(fā)送一個狀態(tài)碼,告訴瀏覽器重新去請求那個地址.所以地址欄顯示的是新的URL.

2.從數(shù)據(jù)共享來說
forward:轉發(fā)頁面和轉發(fā)到的頁面可以共享request里面的數(shù)據(jù).
redirect:不能共享數(shù)據(jù).

3.從運用地方來說
forward:一般用于用戶登陸的時候,根據(jù)角色轉發(fā)到相應的模塊.
redirect:一般用于用戶注銷登陸時返回主頁面和跳轉到其它的網站等.

4.從效率來說
forward:高.
redirect:低.



查看完整回答
反對 回復 2019-03-18
?
叮當貓咪

TA貢獻1776條經驗 獲得超12個贊

forward是容器中控制權的轉向,在客戶端瀏覽器地址欄中不會顯示出轉向后的地址,他是不會改變Request的值,如果你需要在下一個頁面中能從中獲取新的信息的話,你可以Request.setAttribute()來放置一些標志,這樣從下一個頁面中獲取。

redirect是完全的跳轉,瀏覽器將會得到跳轉的地址,并重新發(fā)送請求鏈接。這樣,從瀏覽器的地址欄中可以看到跳轉后的鏈接地址。所以,forward更加高效,在forward可以滿足需要時,盡量使用Request Dispatcher.forward()方法,并且,這樣也有助于隱藏實際的鏈接。在有些情況下,比如,需要跳轉到一個其它服務器上的資源,則必須使用 HttpServletResponse.sendRequest()方法。

查看完整回答
反對 回復 2019-03-18
?
胡說叔叔

TA貢獻1804條經驗 獲得超8個贊

在Servlet中兩種實現(xiàn):
forward方式:request.getRequestDispatcher("/somePage.jsp").forward(request, response);
redirect方式:response.sendRedirect("/somePage.jsp");

forward是服務器內部重定向,程序收到請求后重新定向到另一個程序,客戶機并不知道;redirect則是服務器收到請求后發(fā)送一個狀態(tài)頭給客戶,客戶將再請求一次,這里多了兩次網絡通信的來往。當然forward也有缺點,就是forward的頁面的路徑如果是相對路徑就會有些問題了。

forward 會將 request state , bean 等等信息帶往下一個 jsp
redirect 是送到 client 端后再一次 request , 所以資料不被保留.
使用 forward 你就可以用 getAttribute() 來取的前一個 jsp 所放入的 bean 等等資料

查看完整回答
反對 回復 2019-03-18
  • 3 回答
  • 0 關注
  • 837 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號