最近遇到幾個(gè)人出現(xiàn)了和這三個(gè)有關(guān)的問題,特別是sendRedirect使用
原文: http://www.java2000.net/p10576
一、sendRedirect
使用方式:
servlet和jsp里面一樣
說明:
服務(wù)器根據(jù)邏輯,發(fā)送一個(gè)狀態(tài)碼,告訴瀏覽器重新去請(qǐng)求指定的地址,一般來說,你會(huì)把需要的參數(shù)放在轉(zhuǎn)發(fā)的地址里面。
注意:使用request.setAttribute的內(nèi)容,不能讀取了,你可以用session代替,或者用include,forward代替。
流程圖
二、include
使用方式
servlet里面
jsp里面
說明
頁面會(huì)同時(shí)包含頁面1和頁面2的內(nèi)容,地址欄不變。
使用request.setAttribute的內(nèi)容,可以正常使用
流程圖
三、forward
使用方式
servlet里面
jsp里面
說明
頁面會(huì)是頁面2的內(nèi)容,地址欄不變
使用request.setAttribute的內(nèi)容,可以正常使用
流程圖
特殊提示
include 和 sendRediect 之后,后面的語句會(huì)繼續(xù)執(zhí)行,所以應(yīng)該在合適的位置寫上return;forward的不會(huì)
request.getAttribute的問題。我這里給出三個(gè)的主要區(qū)別并提供一個(gè)圖形參考。
原文: http://www.java2000.net/p10576
一、sendRedirect
使用方式:
servlet和jsp里面一樣
- response.sendRedirect();?
服務(wù)器根據(jù)邏輯,發(fā)送一個(gè)狀態(tài)碼,告訴瀏覽器重新去請(qǐng)求指定的地址,一般來說,你會(huì)把需要的參數(shù)放在轉(zhuǎn)發(fā)的地址里面。
注意:使用request.setAttribute的內(nèi)容,不能讀取了,你可以用session代替,或者用include,forward代替。
流程圖

二、include
使用方式
servlet里面
- request.getRequestDispatcher( "jsp2.jsp" ).include(request,???response);??
- ? <jsp:include?page= "include.jsp" />??
頁面會(huì)同時(shí)包含頁面1和頁面2的內(nèi)容,地址欄不變。
使用request.setAttribute的內(nèi)容,可以正常使用
流程圖

三、forward
使用方式
servlet里面
- request.getRequestDispatcher( "jsp2.jsp" ).forward(request,???response);??
- <jsp:forward?page= "include.jsp" />??
頁面會(huì)是頁面2的內(nèi)容,地址欄不變
使用request.setAttribute的內(nèi)容,可以正常使用
流程圖

特殊提示
include 和 sendRediect 之后,后面的語句會(huì)繼續(xù)執(zhí)行,所以應(yīng)該在合適的位置寫上return;forward的不會(huì)
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
