1. 程式人生 > 實用技巧 >Servlet類中的請求轉發的介紹

Servlet類中的請求轉發的介紹

一、我們要明白,什麼叫做請求轉發?

顧名思義,當瀏覽器向伺服器傳送請求後,一個servlet接收瀏覽器傳送的請求,這個servlet將該請求有傳送到伺服器中的其他servlet或其他檔案中。
在這裡插入圖片描述

二、在servlet中的請求轉發的方法是

request.getRequsetDispatcher("/請求轉發的路徑").forword(requset,response)
這裡我要解釋一下
request 和response都是 doGet() 和doPost() 中的引數,req和resp中的值在整個工程中是被共享的
在這裡插入圖片描述

三、在這裡我主要是想要介紹一下上述的“/請求轉發路徑”

  • 請求轉發必須以**“/”斜槓打頭**,“/”表示“http://ip:port/工程路徑/” ,對映到IDEA中的web目錄
  • 可以是我們寫的java程式(servlet),在src下的servlet直接寫其別名即可,這裡我還要解釋一下,為什麼可以直接寫別名,如果你是通過web.xml檔案配置的servlet,那麼你可以記得我們是配置了servlet的全類名路徑的,也就是說servlet的別名其實對應的是servlet的全類名路徑。全類名路徑路徑正好是在工程路徑下面的。用註解的方式我就不是說了
  • 可以是WEB-INF目錄下的資源,因為上述 / 是對映到web目錄的,WEB-INF目錄剛好在web目錄下

四、請求轉發的特點:

  • 瀏覽器位址列沒有變化
  • 屬於一次請求
  • Request域中的資料是被整個web工程共享的(因為是一次請求)
  • 可以轉發到WEB-INF
    目錄下的資源
  • 不可以訪問工程以外的資源