JavaWeb客戶端與伺服器端跳轉

2021-08-14 08:49:42 字數 778 閱讀 7538

客戶端跳轉(重定向):

客戶端給伺服器傳送乙個請求,伺服器給客戶端乙個響應(響應包含乙個url),客戶端根據這個響應中的url再次向伺服器傳送乙個請求。位址列改變。客戶端跳轉是兩次請求,伺服器給出兩次響應。
伺服器端跳轉(forward):

客戶端給伺服器傳送乙個請求,伺服器直接訪問目標位址的url,將url的相應內容讀取過來,再將這些內容傳送給客戶端。客戶端不知道內容來自**,故位址列不改變。客戶端傳送一次請求,伺服器給出一次響應。
forward與redirect的區別:

redirect

forward

不同的request

不同的物件,但可以取到上乙個頁面的內容

send後面的語句會繼續執行,除非return

forward後的語句不執行

速度慢速度快

需要到客戶端的往返,可以跳轉到任何頁面

伺服器內部轉換

位址列有變化

位址列沒有變化

可以傳引數,直接寫在url後面

可以傳引數

<%response.sendredirect();%><』form action=」/test/servlettojsp」><』a href=」/test/servlettojsp」>test

this.getservletcontext().getrequestdispatcher(「/servlet_jsp/servletusejsp.jsp」).forward(req,resp); 並且只能以 / 開

客戶端與伺服器端通訊

關係圖 傳送 邏輯管理器 處理邏輯傳送指令 指令解析管理器 根據協議xml解析指令成二進位制資料 把二進位制資料傳給伺服器 接收 伺服器傳送二進位制資料到客戶端 指令解析管理器 根據協議xml解析二進位制資料 根據解析資料對映到邏輯類來處理 2 1 3 20 2,2 21 1,1,2 指令名和指令名...

客戶端跳轉與伺服器端跳轉

客戶端跳轉時用httpservletresopse物件的sendredirect函式實現,伺服器端跳轉是使用requestdispather物件的forward方法實現的。這兩者之間的區別主要體現在三個方面 1.使用伺服器端跳轉時,客戶瀏覽器的位址列並不會顯示目標位址的url,而是用客戶端跳轉時,位...

客戶端跳轉與伺服器端跳轉

客戶端跳轉時用httpservletresopse物件的sendredirect函式實現,伺服器端跳轉是使用requestdispather物件的forward方法實現的。這兩者之間的區別主要體現在三個方面 1.使用伺服器端跳轉時,客戶瀏覽器的位址列並不會顯示目標位址的url,而是用客戶端跳轉時,位...