国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JSP > 正文

jsp跳轉(zhuǎn) 和 serlvet跳轉(zhuǎn)

2019-11-14 10:30:00
字體:
供稿:網(wǎng)友

都有客戶端跳轉(zhuǎn),服務(wù)器端跳轉(zhuǎn) 客戶端跳轉(zhuǎn)之后,request屬范圍不可以在使用,url發(fā)生變換 服務(wù)器端跳轉(zhuǎn),request屬性范圍的變量還可以使用,url不變 首先看jsp 1.客戶端跳轉(zhuǎn)用response.sendRedirect(“index.html”); 2.服務(wù)器端跳轉(zhuǎn)用

<jsp:forward> <jsp:param name="xx" value="xx"/></jsp:forward>

再來看servlet跳轉(zhuǎn) resp和req是doGet的接受參數(shù) 1.客戶端跳轉(zhuǎn)也是用resp.sendRedirect(“index.html”); 2.服務(wù)器端跳轉(zhuǎn)

RequestDispatcher rd = req.getRequestDispatcher("index.html");rd.forward(req,resp);

客戶端跳轉(zhuǎn)使用的都是response對(duì)象的sendRedirect方法 服務(wù)端跳轉(zhuǎn)使用的是request對(duì)象的getRequestDispatcher的forward方法

如何記憶呢?forward是服務(wù)器內(nèi)部轉(zhuǎn)發(fā) 服務(wù)器端跳轉(zhuǎn)是由客戶端發(fā)送一個(gè)請(qǐng)求,請(qǐng)求一個(gè)服務(wù)器資源——如JSP和Servlet——,這個(gè)資源又將請(qǐng)求轉(zhuǎn)到另一個(gè)服務(wù)器資源,然后再給客戶端發(fā)送一個(gè)響應(yīng),也就是說服務(wù)器端跳轉(zhuǎn)是客戶端發(fā)送一次請(qǐng)求,服務(wù)器端給出一次響應(yīng),比如說我訪問1.jsp,在這個(gè)1.jsp里面用jsp:forward跳轉(zhuǎn)2.jsp了,這就是訪問資源1.jsp,1.jsp又將請(qǐng)求轉(zhuǎn)到2.jsp,最后是2.jsp給用戶響應(yīng),所以是一次請(qǐng)求,一次響應(yīng),要注意的是從始至終,用戶是無法獲得1.jsp頁面的響應(yīng)的,也就是說對(duì)用戶來說1.jsp是不存在的,他直接就被內(nèi)部轉(zhuǎn)發(fā)到了2.jsp,但是url還是1.jsp

客戶端跳轉(zhuǎn):服務(wù)器會(huì)通過response返回響應(yīng)(參數(shù)、狀態(tài)等)給客戶端,然后客戶端再根據(jù)這些信息跳轉(zhuǎn)到相應(yīng)的uil中,使用地址重寫傳遞參數(shù)response.sendRedirect(“URL?參數(shù)名=參數(shù)值”),比如用戶請(qǐng)求登錄頁面login.jsp,這時(shí)候用戶當(dāng)然可以訪問到登錄頁面,所以login.jsp給了用戶的第一次響應(yīng),用戶輸入自己的登錄信息之后,跳轉(zhuǎn)到登錄頁面,登錄頁面又給用戶一次響應(yīng),所以是2次響應(yīng)。 還有一次非常讓人困擾的情況,就是1.jsp里面,不需要用戶提交參數(shù),直接寫上<%=response.sedRedirect(“index.html”)%> 那么就從1.jsp直接跳轉(zhuǎn)到index.html里面了,這樣看來,好像和前面的一樣啊,一次請(qǐng)求,一次響應(yīng),但是實(shí)際上,還是有2次響應(yīng)的,一次是1.jsp的響應(yīng),一次是index.html的響應(yīng),只是由于這個(gè)頁面太簡(jiǎn)單,執(zhí)行的太快,你感覺不到1.jsp給你的響應(yīng),你要知道1.jsp的響應(yīng)就是那個(gè)response對(duì)象,把代碼改一改,改成response.sendRedirect(“index.html?a=1”),這樣我們就設(shè)置了1.jsp的響應(yīng),而這響應(yīng)就會(huì)傳給index.html

客戶端跳轉(zhuǎn),從loging.jsp到index.html,有2個(gè)request,2個(gè)response 而服務(wù)器端跳轉(zhuǎn),從1.jsp到2.jsp都只有一個(gè)request對(duì)象,一個(gè)response對(duì)象

總結(jié): 1.forward跳轉(zhuǎn): a.服務(wù)器端跳轉(zhuǎn),地址欄不改變; b.執(zhí)行到跳轉(zhuǎn)語句后馬上無條件跳轉(zhuǎn),之后的代碼不再執(zhí)行(跳轉(zhuǎn)之前一定要釋放全部資源,尤其是數(shù)據(jù)庫連接資源); c.request設(shè)置的屬性在跳轉(zhuǎn)后的頁面仍可以使用; d.使用傳遞參數(shù)。

2.response跳轉(zhuǎn): a.客戶端跳轉(zhuǎn),地址欄改變; b.所有代碼執(zhí)行完畢后跳轉(zhuǎn); c.跳轉(zhuǎn)后的頁面不能使用上一個(gè)頁面的request屬性; d.使用地址重寫傳遞參數(shù)(response.sendRedirect(“URL?參數(shù)名=參數(shù)值”))。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 神池县| 拜泉县| 昭通市| 荆门市| 民县| 鄂州市| 辽源市| 藁城市| 子长县| 日照市| 略阳县| 武城县| 丁青县| 冀州市| 嘉禾县| 安阳县| 清丰县| 巴林右旗| 新营市| 长治市| 黑山县| 方正县| 望都县| 竹山县| 邮箱| 泸溪县| 巫溪县| 永兴县| 平顺县| 汝城县| 石楼县| 东兴市| 芷江| 上蔡县| 新巴尔虎左旗| 庆阳市| 宿迁市| 岐山县| 通辽市| 永兴县| 安阳县|