青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

woaidongmao

文章均收錄自他人博客,但不喜標(biāo)題前加-[轉(zhuǎn)貼],因其丑陋,見(jiàn)諒!~
隨筆 - 1469, 文章 - 0, 評(píng)論 - 661, 引用 - 0
數(shù)據(jù)加載中……

深入理解Servlet/JSP之“轉(zhuǎn)發(fā)和重定向

一、轉(zhuǎn)發(fā)

轉(zhuǎn)發(fā)的原理,可以通過(guò)下圖展示:

瀏覽器的請(qǐng)求發(fā)送給組件1,組件1經(jīng)過(guò)一些處理之后,將requestresponse對(duì)象傳遞給組件2,由組件2繼續(xù)處理,然后輸出響應(yīng)(當(dāng)然,也可以繼續(xù)向其他組件傳遞),這個(gè)傳遞的過(guò)程稱(chēng)之為轉(zhuǎn)發(fā)。整個(gè)過(guò)程只涉及一次瀏覽器和服務(wù)器之間的請(qǐng)求-響應(yīng),轉(zhuǎn)發(fā)過(guò)程中的組件共享同一個(gè)請(qǐng)求(request)和響應(yīng)(response)對(duì)象。

轉(zhuǎn)發(fā)的意義在于可以實(shí)現(xiàn)組件的分工。在基于MVC,多層結(jié)構(gòu)的Web應(yīng)用中,經(jīng)常需要多個(gè)組件協(xié)同完成一次請(qǐng)求-響應(yīng)工作,例如:用戶(hù)要獲取設(shè)備列表信息,提交請(qǐng)求至控制器組件(Servlet),該Servlet調(diào)用適當(dāng)?shù)?span lang="EN-US">JavaBean獲取了設(shè)備列表數(shù)據(jù)然后再轉(zhuǎn)發(fā)至JSP組件去顯示信息。

RequestDispatcher對(duì)象封裝了轉(zhuǎn)發(fā)操作。通過(guò)requestgetRequestDispatcher(String path)方法獲得RequestDispatcher對(duì)象,其中String類(lèi)型參數(shù)path表示要轉(zhuǎn)發(fā)到的地址。調(diào)用Dispacther對(duì)象的forward(request, response)方法實(shí)現(xiàn)轉(zhuǎn)發(fā)。關(guān)于轉(zhuǎn)發(fā)的具體操作,有如下幾點(diǎn)需要注意:

1、轉(zhuǎn)發(fā)只能在同一個(gè)應(yīng)用的組件之間進(jìn)行,不可以轉(zhuǎn)發(fā)給其他應(yīng)用的地址。

2、轉(zhuǎn)發(fā)的地址可以用相對(duì)地址方式,也可以用絕對(duì)地址方式。但需要注意的是:用絕對(duì)地址方式時(shí),應(yīng)從應(yīng)用名后(Context path)開(kāi)始。例如:要轉(zhuǎn)發(fā)到的地址為: http://192.168.5.100/tst/jsp/somewhere.jsp (其中tst為應(yīng)用名),對(duì)應(yīng)的絕對(duì)地址為:“/jsp/somewhere.jsp”。這是很好理解的,因?yàn)檗D(zhuǎn)發(fā)只能轉(zhuǎn)到本應(yīng)用內(nèi)的地址,所以絕對(duì)地址是沒(méi)有必要包含應(yīng)用名的。

3、組件之間通過(guò)轉(zhuǎn)發(fā)來(lái)分工協(xié)作,勢(shì)必涉及數(shù)據(jù)的傳遞,可以通過(guò)request對(duì)象傳遞數(shù)據(jù)。request對(duì)象的setAttributegetAttribute分別用于以名稱(chēng)-對(duì)象對(duì)的形式存取數(shù)據(jù)。例如:

request.setAttribute("food", "roast duck");
RequestDispatcher rd = request.getRequestDispatcher("jsp/somewhere.jsp");
rd.forward(request, response);

somewhere.jsp的內(nèi)容:

<h1>Hey, <%=request.getAttribute("food")%></h1>

在轉(zhuǎn)發(fā)之前通過(guò)requestsetAttribute(String name,Object obj)方法向request中存入了一個(gè)名為“food”的字符串對(duì)象“roast duck”。在轉(zhuǎn)發(fā)到的jsp/somewhere.jsp中可以通過(guò)request的方法

getAttribute方法取出名為“food”的對(duì)象,然后顯示在頁(yè)面上。

4、在一個(gè)組件轉(zhuǎn)發(fā)給另外一個(gè)組件之前,通過(guò)response輸出的響應(yīng)內(nèi)容是沒(méi)有意義的。例如:在下面的語(yǔ)句中:

response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<h2>head</h2><hr/>");

RequestDispatcher rd = request.getRequestDispatcher("jsp/somewhere.jsp");

rd.forward(request, response);

用戶(hù)看到的是/jsp/somewhere.jsp的內(nèi)容,而在轉(zhuǎn)發(fā)之前的通過(guò)out對(duì)象輸出的內(nèi)容:

"<h2>head</h2><hr/>" 最終不會(huì)輸出到瀏覽器,這是由于RequestDispatcher在轉(zhuǎn)發(fā)之前清空了輸出緩沖區(qū)。但如果在轉(zhuǎn)發(fā)之前輸出的信息超出了緩沖區(qū),或者調(diào)用了out對(duì)象的flush()方法,此響應(yīng)內(nèi)容已經(jīng)輸出到了客戶(hù)端(稱(chēng)之為響應(yīng)信息已提交),此時(shí)如果實(shí)施轉(zhuǎn)發(fā)操作會(huì)拋出運(yùn)行時(shí)異常:java.lang.IllegalStateException

二、重定向

重定向的含義可以由下圖說(shuō)明:

瀏覽器向某組件發(fā)出請(qǐng)求信息,組件向?yàn)g覽器發(fā)回一個(gè)重定向響應(yīng)信息,該響應(yīng)信息不包含具體的數(shù)據(jù)內(nèi)容,只是在響應(yīng)頭信息中包含了需要重定向到的地址信息,該地址可以是任何有效的URL。瀏覽器收到該重定向響應(yīng)后會(huì)自動(dòng)的向響應(yīng)信息頭中所指示的地址發(fā)出請(qǐng)求。整個(gè)重定向的過(guò)程涉及兩次請(qǐng)求-響應(yīng)。具體的重定向響應(yīng)格式如下所示:

HTTP/1.1 302 Moved Temporarily

Server: Apache-Coyote/1.1

Location: http://192.168.5.100:8080/tst/jsp/somewhere.jsp

Content-Length: 0

Date: Mon, 30 Jun 2008 03:52:54 GMT

注意:重定向響應(yīng)中包含重定向地址的部分。

重定向可以通過(guò)responsesendRedirect(String url)方法來(lái)實(shí)現(xiàn),注意String類(lèi)型的參數(shù)url表示重定向到的地址,需要注意的是,如果表示重定向到本應(yīng)用內(nèi)的一個(gè)絕對(duì)地址時(shí),要從應(yīng)用名前開(kāi)始,例如:tst應(yīng)用中的某個(gè)組件要重定向到本應(yīng)用內(nèi)的/jsp/somewhere.jsp,則重定向的絕對(duì)地址應(yīng)該是:“/tst/jsp/somewhere.jsp”這一點(diǎn)和轉(zhuǎn)發(fā)中的絕對(duì)地址表示是不同的。

clip_image002

clip_image004

 

 

posted on 2009-06-14 19:21 肥仔 閱讀(906) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): Web-后臺(tái)

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲高清123| 一本到12不卡视频在线dvd| 亚洲精品偷拍| 欧美一区二区三区在线看| 伊人春色精品| 国产精品久久久一区二区| 欧美日韩国产在线播放| 久久久久se| 午夜在线播放视频欧美| 中文在线不卡视频| 亚洲欧美国产精品va在线观看| 亚洲经典自拍| 日韩视频免费看| 亚洲欧美春色| 欧美极品欧美精品欧美视频| 欧美高清在线视频| 国产精品久久久一区二区| 国产毛片一区二区| 亚洲欧洲一区二区三区| 亚洲欧美日韩区| 亚洲国产欧美在线人成| 亚洲欧美区自拍先锋| 久久久午夜电影| 欧美日韩午夜剧场| 精品成人久久| 欧美专区日韩视频| 99精品免费| 免费在线观看精品| 今天的高清视频免费播放成人 | 久久久水蜜桃av免费网站| 美女免费视频一区| 午夜精品久久| 国产精自产拍久久久久久蜜| 一区二区欧美视频| 亚洲久久视频| 欧美一区不卡| 亚洲免费黄色| 欧美在线免费观看| 欧美bbbxxxxx| 亚洲欧美国产77777| 欧美成人精品福利| 国内外成人在线| 久久精品亚洲精品| 欧美一区二区三区的| 亚洲免费视频一区二区| 欧美日韩亚洲视频一区| 亚洲精品一区二区三区四区高清| 久久久亚洲国产美女国产盗摄| 亚洲欧美国产va在线影院| 欧美日韩麻豆| 亚洲香蕉在线观看| 亚洲五月婷婷| 国产精品一区二区久久久久| 国产精品入口夜色视频大尺度| 亚洲精品在线视频观看| 免费观看日韩av| 久久亚洲精品一区| 欧美精品一区二| 亚洲精品黄色| 日韩午夜在线观看视频| 欧美日韩国产系列| 性欧美video另类hd性玩具| 亚洲免费在线精品一区| 影音先锋一区| 亚洲人成艺术| 国产精品专区h在线观看| 最新国产成人在线观看| 亚洲欧洲日本专区| 久久性天堂网| 免费中文字幕日韩欧美| 欧美美女bbbb| 蘑菇福利视频一区播放| 欧美日韩影院| 欧美顶级大胆免费视频| 欧美三级黄美女| 亚洲国产91| 在线观看精品一区| 午夜国产不卡在线观看视频| 亚洲国内高清视频| 久久精品一二三区| 亚洲欧美中文另类| 欧美激情久久久| 米奇777在线欧美播放| 欧美日韩国产综合视频在线观看| 欧美午夜不卡视频| 女人天堂亚洲aⅴ在线观看| 久久精品一本久久99精品| 国产精品福利在线观看| 久久久久五月天| 欧美日韩国产欧| 日韩视频中文字幕| 一本久道久久综合狠狠爱| 久久亚洲免费| 免费亚洲电影在线| 亚洲国产精品黑人久久久| 久久婷婷国产综合尤物精品 | 激情成人亚洲| 欧美在线观看天堂一区二区三区| 亚洲欧美国产va在线影院| 国产精品h在线观看| 午夜精品福利视频| 牛牛影视久久网| 亚洲一区二区三区四区在线观看| 久久久www免费人成黑人精品| 欧美极品欧美精品欧美视频| 欧美二区在线看| 最新国产成人av网站网址麻豆| 久久久一区二区三区| 日韩亚洲欧美精品| 久久国产手机看片| 亚洲天堂第二页| 尤物在线观看一区| 欧美日韩直播| 欧美.com| 久久亚洲精品一区二区| 在线一区观看| 亚洲国产日韩欧美综合久久| 亚洲尤物在线| 日韩天堂在线视频| 韩日精品视频| 国产在线国偷精品产拍免费yy| 一区二区免费在线播放| 国产伦一区二区三区色一情| 蜜桃av综合| 久久精品91久久久久久再现| 亚洲国产欧美日韩另类综合| 久久嫩草精品久久久精品一| 亚洲一区三区视频在线观看| 亚洲看片一区| 99综合电影在线视频| 亚洲视频一区二区免费在线观看| 亚洲第一色在线| 亚洲高清中文字幕| 亚洲人成啪啪网站| 国产精品第一页第二页第三页| 欧美激情片在线观看| 欧美极品在线观看| 欧美丝袜第一区| 国产精一区二区三区| 国语自产精品视频在线看抢先版结局| 韩国三级在线一区| 欧美在线观看天堂一区二区三区| 亚洲欧美日本日韩| 羞羞色国产精品| 猛男gaygay欧美视频| 亚洲人成网站精品片在线观看| 一区二区三区视频在线观看 | 欧美综合国产| 欧美日韩亚洲一区二区三区四区| 欧美日韩免费观看一区二区三区 | 久久亚洲电影| 欧美一区二区三区喷汁尤物| 免费永久网站黄欧美| 一本久久综合| 欧美激情一区二区三区全黄| 欧美成人xxx| 亚洲国产天堂久久综合网| 亚洲色图综合久久| 欧美激情五月| 国产综合欧美| 性欧美18~19sex高清播放| 嫩草成人www欧美| 亚洲国产cao| 老巨人导航500精品| 久久精品日产第一区二区| 欧美日韩成人网| 六月天综合网| 在线成人欧美| 欧美成人精品h版在线观看| 亚洲欧美日韩一区二区三区在线| 欧美黄色aa电影| 国语自产精品视频在线看一大j8| 亚洲一区在线观看视频 | 一区二区三区自拍| 午夜精品国产精品大乳美女| 亚洲在线播放电影| 国产精品免费观看在线| 久久久久久穴| 亚洲特黄一级片| 欧美gay视频激情| 国产乱码精品一区二区三区不卡| 亚洲一区二区三区免费观看| 中文欧美在线视频| 国产欧美日韩一区| 免费看的黄色欧美网站| 欧美影院在线播放| 一本大道久久a久久综合婷婷| 亚洲综合首页| 国产亚洲精品久久久久婷婷瑜伽 | 免费成人av资源网| 亚洲男人的天堂在线| 很黄很黄激情成人| 亚洲人体1000| 亚洲欧美影院| 亚洲专区免费| 欧美日韩网站| 欧美亚洲视频在线观看| 亚洲免费高清| 欧美+日本+国产+在线a∨观看| 夜久久久久久|