Servlet類中的請求轉發的介紹
阿新 • • 發佈:2020-10-20
一、我們要明白,什麼叫做請求轉發?
顧名思義,當瀏覽器向伺服器傳送請求後,一個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
- 不可以訪問工程以外的資源