日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

请求的转发:RequestDispatcher对象处理请求的两个方法--forward和include

發(fā)布時間:2025/4/5 77 豆豆
生活随笔 收集整理的這篇文章主要介紹了 请求的转发:RequestDispatcher对象处理请求的两个方法--forward和include 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

當一個 Web資源 收到客戶端的請求后,如果希望服務器通知另一個web資源處理請求,那么這時可以通過 RequestDispatcher 接口的實例對象實現(xiàn)。

web資源分為靜態(tài)和動態(tài)

  • 靜態(tài)資源
    靜態(tài)web資源是瀏覽器能夠直接打開的。如:html、css、 js等
  • 動態(tài)資源
    動態(tài)web資源是經(jīng)過翻譯之后瀏覽器能夠打開的。如:jsp、servlet、php、ASP等
  • RequestDispatcher對象

    RequestDispatcher getRequestDispatcher (String path)

  • 參數(shù):path必須以/開頭,用于表示當前 Web 應用的根目錄

    web應用的根目錄在idea中是web;在eclipse中是webcontent

    需要注意的是,WEB-INF目錄中的內(nèi)容對 RequestDispatcher 對象也是可見的。因此,傳遞給 getRequestDispatcher(String path) 方法的資源可以是 WEB-INF 目錄中的文件

  • 返回值:某條路徑所指定資源的 RequestDispatcher 對象

  • 獲取到 RequestDispatcher對象后,便是通知其他 Web 資源處理當前的 Servlet 請求,為此,RequestDispatcher 接口定義了兩個相關方法:forward()、include()


    forward()與include()

    方法聲明功能描述
    forward(ServletRequest request, ServletResponse response)第一個web資源對請求做一個初步處理,然后通過調用這個方法,將請求傳遞給其他資源進行響應。需要注意的是,該方法必須在響應提交給客戶端之前被調用,否則將拋出 IllegalStateException 異常
    include(ServletRequest request, ervletResponse response)該方法用于將其他的資源作為當前響應內(nèi)容包含進來


    比較內(nèi)容forward()Include()
    使用場合不同將控制權轉移到其它組件須由另一組件執(zhí)行部分處理,一旦執(zhí)行完畢,當前組件將收回控制權
    輸出結果不同在請求轉發(fā)之前,web組件不應使用輸出流向客戶端發(fā)送消息所有web組件共享同一個輸出流與客戶機進行通信
    相同點均是在服務器端完成的,因此地址欄中只顯示原URL,不顯示跳轉后的URL均是在服務器端完成的,因此地址欄中只顯示原URL,不顯示跳轉后的URL


    動手練一下吧!

    關于requset的forward()、include()跳轉的實例代碼



    參考文章:

  • RequestDispatcher實現(xiàn)請求轉發(fā)
  • 什么是web資源????
  • 總結

    以上是生活随笔為你收集整理的请求的转发:RequestDispatcher对象处理请求的两个方法--forward和include的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。