轉(zhuǎn)發(fā)與重定向幢妄,你至少應(yīng)該知道哪些?

頁面跳轉(zhuǎn)的兩種實(shí)現(xiàn)方式:請(qǐng)求轉(zhuǎn)發(fā)和重定向茫负;但是兩者的實(shí)現(xiàn)與區(qū)別你知道多少 蕉鸳?看完這篇就知道答案了

請(qǐng)求轉(zhuǎn)發(fā):

客戶首先發(fā)送一個(gè)請(qǐng)求到服務(wù)器端到a.jsp, 發(fā)現(xiàn)匹配的servlet忍法,并指定它去執(zhí)行潮尝,當(dāng)這個(gè)servlet執(zhí)行完之后,它要調(diào)用getRequestDispacther()方法饿序,把請(qǐng)求轉(zhuǎn)發(fā)給指定的b.jsp,整個(gè)流程都是在服務(wù)器端完成的勉失,而且是在同一個(gè)請(qǐng)求里面完成的,因此servlet和jsp共享的是同一個(gè)request原探,在servlet a里面放的所有東西乱凿,在b中都能取出來顽素,因此,b能把結(jié)果getAttribute()出來徒蟆,getAttribute()出來后執(zhí)行完把結(jié)果返回給客戶端胁出。整個(gè)過程是一個(gè)請(qǐng)求,一個(gè)響應(yīng)段审。

request.getRequestDispatcher("/b.jsp").forword(request,response);

image
image.gif

?

重定向:

客戶發(fā)送一個(gè)請(qǐng)求到服務(wù)器全蝶,服務(wù)器匹配servlet,servlet處理完之后調(diào)用了sendRedirect()方法寺枉,立即向客戶端返回這個(gè)響應(yīng)抑淫,響應(yīng)行告訴客戶端你必須要再發(fā)送一個(gè)請(qǐng)求,去訪問b.jsp姥闪,緊接著客戶端收到這個(gè)請(qǐng)求后始苇,立刻發(fā)出一個(gè)新的請(qǐng)求,去請(qǐng)求b.jsp,這里兩個(gè)請(qǐng)求互不干擾甘畅,相互獨(dú)立埂蕊,在前面request里面setAttribute()的任何東西,在后面的request里面都獲得不了疏唾⌒钛酰可見,在sendRedirect()里面是兩個(gè)請(qǐng)求槐脏,兩個(gè)響應(yīng)喉童。(服務(wù)器向?yàn)g覽器發(fā)送一個(gè)302狀態(tài)碼以及一個(gè)location消息頭,瀏覽器收到請(qǐng)求后會(huì)向再次根據(jù)重定向地址發(fā)出請(qǐng)求)

response.sendRedirect("/b.jsp");

image
image.gif

?

區(qū)別:

1顿天、請(qǐng)求次數(shù):重定向是瀏覽器向服務(wù)器發(fā)送一個(gè)請(qǐng)求并收到響應(yīng)后再次向一個(gè)新地址發(fā)出請(qǐng)求堂氯,轉(zhuǎn)發(fā)是服務(wù)器收到請(qǐng)求后為了完成響應(yīng)跳轉(zhuǎn)到一個(gè)新的地址;重定向至少請(qǐng)求兩次牌废,轉(zhuǎn)發(fā)請(qǐng)求一次咽白;

2、地址欄不同:重定向地址欄會(huì)發(fā)生變化鸟缕,轉(zhuǎn)發(fā)地址欄不會(huì)發(fā)生變化晶框;

3、是否共享數(shù)據(jù):重定向兩次請(qǐng)求不共享數(shù)據(jù)懂从,轉(zhuǎn)發(fā)一次請(qǐng)求共享數(shù)據(jù)(在request級(jí)別使用信息共享授段,使用重定向必然出錯(cuò));

4番甩、跳轉(zhuǎn)限制:重定向可以跳轉(zhuǎn)到任意URL侵贵,轉(zhuǎn)發(fā)只能跳轉(zhuǎn)本站點(diǎn)資源;

5缘薛、發(fā)生行為不同:重定向是客戶端行為窍育,轉(zhuǎn)發(fā)是服務(wù)器端行為卡睦;

使用:

1、可以利用request的域?qū)ο蟮奶攸c(diǎn)蔫骂,由源組件向其中存放寫數(shù)據(jù)么翰;

2牺汤、可以讓用戶訪問到存放在WEB-INF目錄中的目標(biāo)資源辽旋;

3、重定向的速度比轉(zhuǎn)發(fā)慢檐迟,因?yàn)闉g覽器還得發(fā)出一個(gè)新的請(qǐng)求补胚,所以如果在使用轉(zhuǎn)發(fā)和重定向都無所謂的時(shí)候建議使用轉(zhuǎn)發(fā);

4追迟、因?yàn)檗D(zhuǎn)發(fā)只能訪問當(dāng)前WEB的應(yīng)用程序溶其,所以不同WEB應(yīng)用程序之間的訪問,特別是要訪問到另外一個(gè)WEB站點(diǎn)上的資源的情況敦间,這個(gè)時(shí)候就只能使用重定向了瓶逃。

推薦記憶:

我是按照?qǐng)D片記性,理解廓块。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末厢绝,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子带猴,更是在濱河造成了極大的恐慌昔汉,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,807評(píng)論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件拴清,死亡現(xiàn)場離奇詭異靶病,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)口予,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,284評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門娄周,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人沪停,你說我怎么就攤上這事煤辨。” “怎么了牙甫?”我有些...
    開封第一講書人閱讀 169,589評(píng)論 0 363
  • 文/不壞的土叔 我叫張陵掷酗,是天一觀的道長。 經(jīng)常有香客問我窟哺,道長泻轰,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,188評(píng)論 1 300
  • 正文 為了忘掉前任且轨,我火速辦了婚禮浮声,結(jié)果婚禮上虚婿,老公的妹妹穿的比我還像新娘。我一直安慰自己泳挥,他們只是感情好然痊,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,185評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著屉符,像睡著了一般剧浸。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上矗钟,一...
    開封第一講書人閱讀 52,785評(píng)論 1 314
  • 那天唆香,我揣著相機(jī)與錄音,去河邊找鬼吨艇。 笑死躬它,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的东涡。 我是一名探鬼主播冯吓,決...
    沈念sama閱讀 41,220評(píng)論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼疮跑!你這毒婦竟也來了组贺?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,167評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤祸挪,失蹤者是張志新(化名)和其女友劉穎锣披,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體贿条,經(jīng)...
    沈念sama閱讀 46,698評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡雹仿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,767評(píng)論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了整以。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片胧辽。...
    茶點(diǎn)故事閱讀 40,912評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖公黑,靈堂內(nèi)的尸體忽然破棺而出邑商,到底是詐尸還是另有隱情,我是刑警寧澤凡蚜,帶...
    沈念sama閱讀 36,572評(píng)論 5 351
  • 正文 年R本政府宣布人断,位于F島的核電站,受9級(jí)特大地震影響朝蜘,放射性物質(zhì)發(fā)生泄漏恶迈。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,254評(píng)論 3 336
  • 文/蒙蒙 一谱醇、第九天 我趴在偏房一處隱蔽的房頂上張望暇仲。 院中可真熱鬧步做,春花似錦、人聲如沸奈附。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,746評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽斥滤。三九已至将鸵,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間中跌,已是汗流浹背咨堤。 一陣腳步聲響...
    開封第一講書人閱讀 33,859評(píng)論 1 274
  • 我被黑心中介騙來泰國打工菇篡, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留漩符,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,359評(píng)論 3 379
  • 正文 我出身青樓驱还,卻偏偏與公主長得像嗜暴,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子议蟆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,922評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容