客戶端跳轉(zhuǎn)與服務(wù)器端跳轉(zhuǎn)的區(qū)別
客戶端跳轉(zhuǎn)與服務(wù)器端跳轉(zhuǎn)的區(qū)別
客戶端跳轉(zhuǎn)與服務(wù)器端跳轉(zhuǎn)的區(qū)別
客戶端跳轉(zhuǎn)時(shí)用HttPservletResopse對(duì)象的sendRedirect函數(shù)實(shí)現(xiàn),服務(wù)器端跳轉(zhuǎn)是使用RequestDispather對(duì)象的forward方法實(shí)現(xiàn)的。這兩者之間的區(qū)別主要體現(xiàn)在三個(gè)方面:
1. 使用服務(wù)器端跳轉(zhuǎn)時(shí),客戶瀏覽器的地址欄并不會(huì)顯示目標(biāo)地址的URL,而是用客戶端跳轉(zhuǎn)時(shí),地址欄當(dāng)中會(huì)顯示目標(biāo)資源的URL;
2. 服務(wù)器端跳轉(zhuǎn)是由客戶端發(fā)送一個(gè)請(qǐng)求,請(qǐng)求一個(gè)服務(wù)器資源——如JSP和Servlet——,這個(gè)資源又將請(qǐng)求轉(zhuǎn)到另一個(gè)服務(wù)器資源,然后再給客戶端發(fā)送一個(gè)響應(yīng),也就是說(shuō)服務(wù)器端跳轉(zhuǎn)是客戶端發(fā)送一次請(qǐng)求,服務(wù)器端給出一次響應(yīng);
客戶端跳轉(zhuǎn)的流程則不同。客戶端同樣是發(fā)送一個(gè)請(qǐng)求給服務(wù)器端資源,這個(gè)服務(wù)器資源會(huì)首先給客戶端一個(gè)響應(yīng),客戶端再根據(jù)這個(gè)響應(yīng)當(dāng)中所包含的地址,再次向服務(wù)器端發(fā)送一個(gè)請(qǐng)求,也就是說(shuō)客戶端跳轉(zhuǎn)是兩次請(qǐng)求,兩次響應(yīng);
3. 在進(jìn)行客戶端跳轉(zhuǎn)和服務(wù)器端跳轉(zhuǎn)時(shí),都需要指定目標(biāo)資源的URL,如果這個(gè)路徑以“/”開始。在客戶端跳轉(zhuǎn)當(dāng)中“/”代表的是應(yīng)用服務(wù)器根目錄,而在服務(wù)器端跳轉(zhuǎn)當(dāng)中代表的是應(yīng)用程序根目錄。
page = 頁(yè)面級(jí)別
request = 請(qǐng)求級(jí)別(與服務(wù)器端跳轉(zhuǎn)配合使用)
session = 會(huì)話級(jí)別(客戶端跳轉(zhuǎn)(服務(wù)器端跳轉(zhuǎn)也可,但是客戶端跳轉(zhuǎn)更加突出了session的作用范圍))
application = 應(yīng)用級(jí)別
客戶端跳轉(zhuǎn):服務(wù)器端將請(qǐng)求結(jié)果返回給客戶端,客戶端向服務(wù)器發(fā)出另一次請(qǐng)求。在客戶端跳轉(zhuǎn)過(guò)程中是兩次不同的請(qǐng)求。在地址欄中顯示的是最后一次請(qǐng)求地址。
客戶端跳轉(zhuǎn)可以進(jìn)行站外跳轉(zhuǎn)。
1、鏈接跳轉(zhuǎn):<a href=””></a>
2、表單提交
3、Response.sendRedirect(“3.jsp”);
4、<mata http-equiv=”refresh”, content=”3;2.jsp”/>
5、response.setHeader(“refresh”,” 3;2.jsp”);
6、客戶端跳轉(zhuǎn)“/”代表服務(wù)器跟路徑(localhost:8080)
7、客戶端跳轉(zhuǎn)“.”代表當(dāng)前工程項(xiàng)目根路徑(http://localhost:8080/addressbook)
服務(wù)器端跳轉(zhuǎn)(容器內(nèi)跳轉(zhuǎn)):能夠自動(dòng)的在服務(wù)器內(nèi)部進(jìn)行跳轉(zhuǎn),這種跳轉(zhuǎn)對(duì)用戶來(lái)說(shuō)是透明的。兩次跳轉(zhuǎn)時(shí)同一個(gè)request,在地址欄中顯示的事第一次頁(yè)面地址。
只能進(jìn)行站點(diǎn)內(nèi)跳轉(zhuǎn)。
1、<jsp:forward page=””/> --寫在jsp頁(yè)面內(nèi)的跳轉(zhuǎn)
2、pageContext.forward(); --寫在jsp頁(yè)面內(nèi)的跳轉(zhuǎn)
3、 request.getRequestDispatcher("1.jsp").forward(request,response);
4、 服務(wù)器端跳轉(zhuǎn)“/”代表當(dāng)前請(qǐng)求根路徑(http://localhost:8080/addressbooktest/GoServlet)
5、 服務(wù)器端跳轉(zhuǎn)“.”代表當(dāng)前請(qǐng)求根路徑(http://localhost:8080/addressbooktest/GoServlet)
posted on 2013-03-18 10:05 何云隆 閱讀(2145) 評(píng)論(0) 編輯 收藏 所屬分類: Jsp