JSP中「轉發」和「重定向」的區別

 

從新過一遍javaweb,有些細節問題以前沒注意過印象也不深,如今從新記錄一遍。java

 

 

重定向:客戶端行爲,經過response.sendRedirect()實現web

轉發:服務器行爲,經過request.getRequestDispatcher().forward(req,resp)實現編程

 

區別:服務器

  • 路徑不一樣
  • 數據保存不一樣
  • 請求次數不一樣

 

路徑jsp

重定向路徑:重定向的過程是客戶端->服務器(one.jsp)->客戶端->服務器(two.jsp),因此重定向的路徑是會變化的,路徑中的根路徑是不變的,可是jsp頁面會由jsp1編程jsp2spa

例如由   http://localhost:8080/test_three/Login/one.jsp   轉變成   http://localhost:8080/test_three/Login/tow.jspblog

 

轉發路徑:轉發的過程是客戶端->服務器:(one.jsp->two.jsp),因此轉發的路徑是不變的,也就是路徑會一直停在one.jspthree

 

 

 

數據保存get

重定向數據不保存,丟失test

轉發數據依然存在,不一樣jsp頁面間數據能夠共享

 

 

請求次數

重定向客戶端向服務端請求兩次

轉發客戶端向服務端請求一次

相關文章
相關標籤/搜索