#30天專注成長計(jì)劃# day13 重定向和跳轉(zhuǎn)

重定向和跳轉(zhuǎn)


1、request.getRequestDispatcher().forward()

? ? 在服務(wù)端起作用,當(dāng)使用forward()時(shí),Servlet傳遞HTTP請求從當(dāng)前的Servlet or JSP到另外一個(gè)Servlet,JSP或HTML文件知押,response共用,參數(shù)自動(dòng)傳遞鹃骂。

? ? 重定向后瀏覽器地址欄URL不變

? ? 請求轉(zhuǎn)發(fā)的過程:

? ? 客戶首先發(fā)送一個(gè)請求到服務(wù)器端台盯,服務(wù)器端發(fā)現(xiàn)匹配的Servlet,并指定去執(zhí)行畏线,當(dāng)這個(gè)Servlet執(zhí)行完成后調(diào)用getRequestDispatcher方法静盅,把請求轉(zhuǎn)發(fā)給指定的對象,整個(gè)過程都是在服務(wù)器端完成象踊,且是在同一個(gè)里面完成的温亲,因經(jīng)Servlet和轉(zhuǎn)發(fā)的對象用的是同一個(gè)request,在Servlet里面放的所有東西棚壁,都可以在轉(zhuǎn)發(fā)的對象中取出來杯矩。

? ? 因此,轉(zhuǎn)發(fā)的對象能把結(jié)果getAttribute()出來袖外。

? ? 整個(gè)過程是一個(gè)請求史隆,一個(gè)響應(yīng)。

? ? forward()無法重定向至有frame的jsp文件曼验,可以重定向至有frame的html文件泌射;

? ? forward()無法在后面帶參數(shù)傳遞,比如Servlet.do?name=yanmw鬓照,可以通過response.setAttribute("name","yanmw");

2熔酷、response.sendRedirect()

? ? 在瀏覽器端工作,當(dāng)使用sendRedirect()時(shí)豺裆,Servlet向?yàn)g覽器傳遞當(dāng)前要跳轉(zhuǎn)地址拒秘,由瀏覽器重新發(fā)送一個(gè)新的請求去訪問要跳轉(zhuǎn)的地址,通過在跳轉(zhuǎn)地址后臺(tái)帶參數(shù)進(jìn)行傳遞臭猜,不能通過response傳遞躺酒。

? ? 跳轉(zhuǎn)后瀏覽器地址欄會(huì)出現(xiàn)重定向頁面的URL。

? ? 重定向的工作原理:

? ? 客戶發(fā)送一個(gè)請求到服務(wù)器蔑歌,服務(wù)器匹配Servlet羹应,Servlet處理完之后調(diào)用了sendRedirect()這個(gè)方法,這個(gè)方法是response的方法次屠,所以园匹,當(dāng)這個(gè)Servlet處理完成 之后雳刺,看到sendRedirect方法,立即向客戶端返回這個(gè)響應(yīng)裸违,告訴客戶端必須再次發(fā)送一個(gè)請求煞烫,去訪問需要重定向的地址。

? ? 客戶端接收到請求后累颂,再次發(fā)送一個(gè)新的請求去請求這個(gè)重定向?qū)ο笾拖辏@兩個(gè)請求互不干擾,相互獨(dú)立紊馏,在前面request里面setAttribute()的任何東西料饥,后面的request都不能獲取。

? ? 在sendRedirect里面是兩個(gè)請求朱监,兩個(gè)響應(yīng)岸啡。

? ? response.sendRedirect()之后,應(yīng)該緊跟一句return,因?yàn)樗峭ㄟ^瀏覽器來做轉(zhuǎn)向的赫编,所以只有在頁面處理完成后巡蘸,才會(huì)有實(shí)際的動(dòng)作。

3擂送、比較

(1)request.getRequestDispatcher.forward()是容器中控制權(quán)的轉(zhuǎn)向悦荒,在客戶端瀏覽器地址欄中不會(huì)顯示出轉(zhuǎn)向后的地址;

(2)response.sendRedirect()則是完全的跳轉(zhuǎn)嘹吨,瀏覽器將會(huì)得到跳轉(zhuǎn)的地址搬味,并重新發(fā)送請求鏈接。這樣蟀拷,從瀏覽器的地址欄中可以看到跳轉(zhuǎn)后的鏈接地址碰纬。

前者更加高效,在前者可以滿足需要時(shí)问芬,盡量使用RequestDispatcher.forward()方法.

(3)request.getRequestDispatcher.forward()是在本服務(wù)器內(nèi)的跳轉(zhuǎn)悦析;

? ?response.sendRedirect()會(huì)重新向服務(wù)器發(fā)起請求,可跨服務(wù)器訪問此衅,但消耗較大强戴。

(4)sendRedirect()方法不但可以在位于同一個(gè)主機(jī)上的不同Web應(yīng)用程序之間進(jìn)行重定向,而且可以將客戶端重定向到其他服務(wù)器上的Web應(yīng)用程序資源炕柔。而forward()方法只能將請求轉(zhuǎn)發(fā)給同一Web應(yīng)用的組件酌泰。

圖片發(fā)自簡書App
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市匕累,隨后出現(xiàn)的幾起案子陵刹,更是在濱河造成了極大的恐慌,老刑警劉巖欢嘿,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件衰琐,死亡現(xiàn)場離奇詭異也糊,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)羡宙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進(jìn)店門狸剃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人狗热,你說我怎么就攤上這事钞馁。” “怎么了匿刮?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵僧凰,是天一觀的道長。 經(jīng)常有香客問我熟丸,道長训措,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任光羞,我火速辦了婚禮绩鸣,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘纱兑。我一直安慰自己呀闻,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布萍启。 她就那樣靜靜地躺著总珠,像睡著了一般。 火紅的嫁衣襯著肌膚如雪勘纯。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天钓瞭,我揣著相機(jī)與錄音驳遵,去河邊找鬼。 笑死山涡,一個(gè)胖子當(dāng)著我的面吹牛堤结,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播鸭丛,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼竞穷,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了鳞溉?” 一聲冷哼從身側(cè)響起瘾带,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎熟菲,沒想到半個(gè)月后看政,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體朴恳,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年允蚣,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了于颖。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,161評論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡嚷兔,死狀恐怖森渐,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情冒晰,我是刑警寧澤章母,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站翩剪,受9級特大地震影響乳怎,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜前弯,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一蚪缀、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧恕出,春花似錦询枚、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至的畴,卻和暖如春渊抄,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背丧裁。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工护桦, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人煎娇。 一個(gè)月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓二庵,卻偏偏與公主長得像,于是被迫代替她去往敵國和親缓呛。 傳聞我的和親對象是個(gè)殘疾皇子催享,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評論 2 344

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