国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Servlet請求轉(zhuǎn)發(fā) RequestDispatcher與sendRedirect - ...

在Servlet中,利用RequestDispatcher對象,可以將請求轉(zhuǎn)發(fā)給另外一個(gè)Servlet或JSP頁面,甚至是HTML頁面,來處理對請求的響應(yīng)。

一,RequestDispatcher接口方法簡介  

     1,RequestDispatcher對象由Servlet容器來創(chuàng)建,封裝一個(gè)由路徑所標(biāo)識(shí)的服務(wù)器資源。    

     2,RequestDispatcher接口中定義了二種方法用于請求轉(zhuǎn)發(fā):    

           forward(ServletRequest,ServletResponse)方法:      

                   將請求轉(zhuǎn)發(fā)給服務(wù)器上另外一個(gè)Servlet,JSP頁面,或者HTML文件      這個(gè)方法必須在響應(yīng)被提交給客戶端之前調(diào)用,否則拋出異常。      

                  方法調(diào)用后在響應(yīng)中的沒有提交的內(nèi)容被自動(dòng)消除。    

           include(ServletRequest,ServletResponse)方法 :     

                 用于在響應(yīng)中包含其他資源(Servlet,JSP頁面或HTML文件)的內(nèi)容。      

                 即請求轉(zhuǎn)發(fā)后,原先的Servlet還可以繼續(xù)輸出響應(yīng)信息,轉(zhuǎn)發(fā)到的Servlet對請求做出的響應(yīng)將并入原先Servlet的響應(yīng)對象中。      

      3,forward方法和include方法的區(qū)別:

                  forward方法調(diào)用后在響應(yīng)中的沒有提交的內(nèi)容被自動(dòng)消除。   include方法使原先的Servlet和轉(zhuǎn)發(fā)到的Servlet都可以輸出響應(yīng)信息。   

 

二,得到RequestDispatcher對象  

      三種方法可以得到RequestDispatcher對象:   

             1,利用ServletRequest接口中的getRequestDispatcher(String  path)方法。   

             2,ServletContext接口中g(shù)etNamedDispatcher(String  path)和getRequestDispatcher(String  path)方法。 

     ServletRequest接口和ServletContext接口中g(shù)etRequestDispatcher方法區(qū)別:   

              1,參數(shù)的區(qū)別    

                      參數(shù)雖然都是資源路徑名,ServletContext接口的中參數(shù)路徑必須以“/”開始,是相對于當(dāng)前Servlet上下文根,    ServletRequest接口中的參數(shù)路徑不僅可以相對于當(dāng)前Servlet上下文根,還可以相對與當(dāng)前Servlet路徑    

             2,跨WEB應(yīng)用程序訪問資源    

                      通過ServletContext.getContext()方法獲取另個(gè)WEB應(yīng)用程序的上下文環(huán)境對象來    調(diào)用getRequestDispatcher(String  path)方法 將請求轉(zhuǎn)發(fā)到另個(gè)WEB應(yīng)用程序的資源。                       

                     還需要在當(dāng)前WEB應(yīng)用程序配置中設(shè)置<context>元素,指定crossContext屬性值為true。

三,ServletResqonse接口中的sendRedirect()方法和forward()方法的區(qū)別  

       二個(gè)方法都是用于請求轉(zhuǎn)發(fā)的方法,轉(zhuǎn)發(fā)給另外的資源為客戶端服務(wù)。但二者有本質(zhì)的區(qū)別

       sendRedirect()方法原理:   

              1,客戶端發(fā)送請求,Servlet1做出處理。   

              2,Servlet1調(diào)用sendReadirect()方法,將客戶端的請求 重新定位 到Servlet2。   

              3,客戶端瀏覽器訪問Servlet2.  

              4,Servlet2對客戶端瀏覽器做出響應(yīng)。 

       forward()方法原理:  

             1,客戶端發(fā)送請求,Servlet1做出處理。  

             2,Servlet1調(diào)用forward()方法,將請求轉(zhuǎn)發(fā)給Servlet2來處理請求,為客戶端服務(wù)。   

             3,Servlet2對客戶端瀏覽器做出響應(yīng)。      

      區(qū)別:   

           1,定位與轉(zhuǎn)發(fā)   

                    sendRedirect()方法是重新定位到另外一個(gè)資源來處理請求,URL會(huì)重新定位,讓客戶端重新訪問另外一個(gè)資源。    forward()方法是轉(zhuǎn)發(fā)到另外一個(gè)資源來處理請求。URL不會(huì)變化。隱藏了處理對象的變化。   

           2,處理請求的資源的范圍   

                  sendReadirect()方法可以跨WEB應(yīng)用程序和服務(wù)器重新定位資源來處理請求。    forward()方法只能在應(yīng)用程序內(nèi)部轉(zhuǎn)發(fā)。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Servlet基本用法(二)接口和類
Java Web基礎(chǔ)筆試題
問題集錦:Servlets/JSP開發(fā)技術(shù)問答
jsp和servlet重定向
getRequestDispatcher()與sendRedirect()的區(qū)別
Java Web開發(fā)面試題一套(4)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服