2006年3月31日17:55:31
對(duì)于重定向技術(shù)以前感覺(jué)是比較簡(jiǎn)單的東西,后來(lái)在做東西的過(guò)程中發(fā)現(xiàn)其實(shí)里面還是有很多技巧的!
首先我們先比較一下:response.sendRedirect()和RequestDispatcher.forward()方法的使用情況
???response.sendRedirect()方法:因?yàn)閞esponse是JSP的內(nèi)含對(duì)象,因此它可以直接使用,而在Servlet當(dāng)中它則是HttpServletResponse或是ServletResponse.
???sendRedirect()方法是可以實(shí)現(xiàn)瀏覽器的http地址的跳轉(zhuǎn),它同樣可以實(shí)現(xiàn)帶有frame框架的地址的跳轉(zhuǎn)。而forward()方法則不能完成這種帶frame框架的地址的跳轉(zhuǎn)。sendRedirect()方法的重定向可以顯示在瀏覽器的地址欄當(dāng)中,而forward()則不能。
???sendRecirect()不僅可以實(shí)現(xiàn)frame的跳轉(zhuǎn),也可以實(shí)現(xiàn)跨網(wǎng)站跨應(yīng)用程序的跳轉(zhuǎn)。它能夠傳遞帶查詢參數(shù)的變量及值,但是卻不能夠記錄請(qǐng)求前頁(yè)存的Request.setAttribute()當(dāng)中的值。因此如果用sendRedirect()方法進(jìn)行了跳轉(zhuǎn)后的頁(yè)面,沒(méi)有記憶功能,但是session中的值可以得到。而forward()就具有記錄屬性值的功能,跳轉(zhuǎn)后的頁(yè)面可以取得前一頁(yè)中保存的值。
???forward()方法也可以傳遞查詢參數(shù)及值。但是<jsp:forward>則不能傳遞查詢參數(shù),如果要實(shí)現(xiàn)查詢參數(shù)則必須嵌套<jsp:param name="name" value="value">來(lái)完成
???通過(guò)用<jsp:param>來(lái)傳遞查詢參數(shù),它不會(huì)顯示在瀏覽器的地址欄當(dāng)中,因此比response.sendRedirect()要安全一些
FeedBack:
2008-05-25 15:20 | 流浪人
文中你提到“forward()就具有記錄屬性值的功能,跳轉(zhuǎn)后的頁(yè)面可以取得前一頁(yè)中保存的值。”
而在后邊你又提到“forward()方法也可以傳遞查詢參數(shù)及值。但是<jsp:forward>則不能傳遞查詢參數(shù),如果要實(shí)現(xiàn)查詢參數(shù)則必須嵌套<jsp:param name="name" value="value">來(lái)完成”
這2句話不矛盾嗎?
與其這樣說(shuō) 是不是 說(shuō)forward()在某些條件之外都可以傳遞參數(shù)和值更好????
回復(fù) 更多評(píng)論
而在后邊你又提到“forward()方法也可以傳遞查詢參數(shù)及值。但是<jsp:forward>則不能傳遞查詢參數(shù),如果要實(shí)現(xiàn)查詢參數(shù)則必須嵌套<jsp:param name="name" value="value">來(lái)完成”
這2句話不矛盾嗎?
與其這樣說(shuō) 是不是 說(shuō)forward()在某些條件之外都可以傳遞參數(shù)和值更好????
回復(fù) 更多評(píng)論
只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。 | ||
![]() |
||
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問(wèn)
管理
|
||
相關(guān)文章:
|
||
| |||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
---|---|---|---|---|---|---|---|---|---|
26 | 27 | 28 | 1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 | |||
12 | 13 | 14 | 15 | 16 | 17 | 18 | |||
19 | 20 | 21 | 22 | 23 | 24 | 25 | |||
26 | 27 | 28 | 29 | 30 | 31 | 1 | |||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
常用鏈接
留言簿(4)
隨筆分類(85)
隨筆檔案(89)
- 2009年8月 (1)
- 2008年7月 (1)
- 2007年11月 (1)
- 2007年8月 (1)
- 2007年7月 (2)
- 2007年6月 (1)
- 2007年2月 (5)
- 2007年1月 (1)
- 2006年12月 (1)
- 2006年11月 (1)
- 2006年10月 (11)
- 2006年9月 (28)
- 2006年8月 (9)
- 2006年7月 (12)
- 2006年6月 (3)
- 2006年5月 (1)
- 2006年4月 (3)
- 2006年3月 (4)
- 2006年2月 (3)
文章分類(14)
文章檔案(42)
- 2006年9月 (24)
- 2006年7月 (5)
- 2006年6月 (2)
- 2006年3月 (3)
- 2005年11月 (1)
- 2005年3月 (1)
- 2004年10月 (1)
- 2004年5月 (1)
- 2004年1月 (1)
- 2003年11月 (3)
收藏夾(37)
java
oracle
Sybase
搜索
積分與排名
- 積分 - 211106
- 排名 - 265
最新評(píng)論

- 1.?re: document.getElementsByName()的用法
- 455656
- --525233
- 2.?re: 討論:Java 接口當(dāng)中的 “常量接口”
- 評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
- --maaoi
- 3.?re: document.getElementsByName()的用法
- 謝謝,很明了
- --sf
- 4.?re: Ant:編寫build.xml的方法
- 學(xué)習(xí)了
- --sss
- 5.?re: Java 堆與棧的使用
-
你是個(gè)sb嗎?
- --zr