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

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

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

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