hyljava

          客戶端跳轉(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

          主站蜘蛛池模板: 南平市| 扶余县| 泉州市| 陇南市| 建宁县| 珠海市| 湘潭县| 天峨县| 信阳市| 灵璧县| 平顺县| 台北县| 田林县| 湘潭市| 绥棱县| 江川县| 古田县| 通州区| 丹巴县| 安国市| 汝南县| 新竹县| 松江区| 江油市| 抚宁县| 任丘市| 资源县| 子长县| 奇台县| 长治县| 根河市| 浦东新区| 鄱阳县| 弥勒县| 弥渡县| 茂名市| 广安市| 荥阳市| 鄱阳县| 喀喇沁旗| 阿坝|