hyljava

          客戶(hù)端跳轉(zhuǎn)與服務(wù)器端跳轉(zhuǎn)的區(qū)別

          客戶(hù)端跳轉(zhuǎn)與服務(wù)器端跳轉(zhuǎn)的區(qū)別

          客戶(hù)端跳轉(zhuǎn)與服務(wù)器端跳轉(zhuǎn)的區(qū)別

          客戶(hù)端跳轉(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í),客戶(hù)瀏覽器的地址欄并不會(huì)顯示目標(biāo)地址的URL,而是用客戶(hù)端跳轉(zhuǎn)時(shí),地址欄當(dāng)中會(huì)顯示目標(biāo)資源的URL;

           

          2. 服務(wù)器端跳轉(zhuǎn)是由客戶(hù)端發(fā)送一個(gè)請(qǐng)求,請(qǐng)求一個(gè)服務(wù)器資源——如JSP和Servlet——,這個(gè)資源又將請(qǐng)求轉(zhuǎn)到另一個(gè)服務(wù)器資源,然后再給客戶(hù)端發(fā)送一個(gè)響應(yīng),也就是說(shuō)服務(wù)器端跳轉(zhuǎn)是客戶(hù)端發(fā)送一次請(qǐng)求,服務(wù)器端給出一次響應(yīng);

          客戶(hù)端跳轉(zhuǎn)的流程則不同。客戶(hù)端同樣是發(fā)送一個(gè)請(qǐng)求給服務(wù)器端資源,這個(gè)服務(wù)器資源會(huì)首先給客戶(hù)端一個(gè)響應(yīng),客戶(hù)端再根據(jù)這個(gè)響應(yīng)當(dāng)中所包含的地址,再次向服務(wù)器端發(fā)送一個(gè)請(qǐng)求,也就是說(shuō)客戶(hù)端跳轉(zhuǎn)是兩次請(qǐng)求,兩次響應(yīng);

           

          3. 在進(jìn)行客戶(hù)端跳轉(zhuǎn)和服務(wù)器端跳轉(zhuǎn)時(shí),都需要指定目標(biāo)資源的URL,如果這個(gè)路徑以“/”開(kāi)始。在客戶(hù)端跳轉(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ì)話(huà)級(jí)別(客戶(hù)端跳轉(zhuǎn)(服務(wù)器端跳轉(zhuǎn)也可,但是客戶(hù)端跳轉(zhuǎn)更加突出了session的作用范圍))

           

          application = 應(yīng)用級(jí)別

           

          客戶(hù)端跳轉(zhuǎn):服務(wù)器端將請(qǐng)求結(jié)果返回給客戶(hù)端,客戶(hù)端向服務(wù)器發(fā)出另一次請(qǐng)求。在客戶(hù)端跳轉(zhuǎn)過(guò)程中是兩次不同的請(qǐng)求。在地址欄中顯示的是最后一次請(qǐng)求地址。

           

          客戶(hù)端跳轉(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、客戶(hù)端跳轉(zhuǎn)“/”代表服務(wù)器跟路徑localhost:8080

          7、客戶(hù)端跳轉(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ì)用戶(hù)來(lái)說(shuō)是透明的。兩次跳轉(zhuǎn)時(shí)同一個(gè)request,在地址欄中顯示的事第一次頁(yè)面地址。

           

          只能進(jìn)行站點(diǎn)內(nèi)跳轉(zhuǎn)。

           

          1、<jsp:forward page=””/>    --寫(xiě)在jsp頁(yè)面內(nèi)的跳轉(zhuǎn)

          2、pageContext.forward();       --寫(xiě)在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 何云隆 閱讀(2147) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): Jsp

          主站蜘蛛池模板: 邢台县| 乐陵市| 治多县| 兴和县| 大同市| 苗栗市| 鄂托克前旗| 娄底市| 玉树县| 遂昌县| 邵东县| 嵩明县| 松溪县| 龙海市| 亳州市| 林甸县| 白城市| 方正县| 奈曼旗| 健康| 达州市| 罗田县| 鸡东县| 碌曲县| 开阳县| 金溪县| 托克逊县| 陕西省| 黎川县| 新营市| 西华县| 大名县| 鲁山县| 达州市| 甘孜| 内丘县| 介休市| 无为县| 英山县| 西平县| 胶州市|