一、request.getrequestdispatcher().forward(request,response):
1、屬於**,也是伺服器跳轉,相當於方法呼叫,在執行當前檔案的過程中轉向執行目標檔案,兩個檔案(當前檔案和目標檔案)屬於同一次請求,前後頁共用乙個request,可以通過此來傳遞一些資料或者session資訊,request.setattribute()和request.getattribute()。
2、在前後兩次執行後,位址列不變,仍是當前檔案的位址。
3、不能轉向到本web應用之外的頁面和**,所以轉向的速度要快。
4、url中所包含的「/」表示應用程式(專案)的路徑。
二、response.sendredirect():
1、屬於重定向,也是客戶端跳轉,相當於客戶端向服務端傳送請求之後,伺服器返回乙個響應,客戶端接收到響應之後又向服務端傳送一次請求,一共是2次請求,前後頁不共用乙個request,不能讀取轉向前通過request.setattribute()設定的屬性值。
2、在前後兩次執行後,位址列發生改變,是目標檔案的位址。
3、可以轉向到本web應用之外的頁面和**,所以轉向的速度相對要慢。
4、url種所包含的"/"表示根目錄的路徑。
特殊的應用:對資料進行修改、刪除、新增操作的時候,應該用response.sendredirect()。如果是採用了request.getrequestdispatcher().forward(request,response),那麼操作前後的位址列都不會發生改變,仍然是修改的控制器,如果此時再對當前頁面重新整理的話,就會重新傳送一次請求對資料進行修改,這也就是有的人在重新整理一次頁面就增加一條資料的原因。
如何採用第二種方式傳遞資料:
1、可以選擇session,但要在第二個檔案中刪除;
2、可以在請求的url中帶上引數,如"add.htm?id=122"
jsp servlet jsp的兩種跳轉
在jsp中,跳轉頁面有兩種方式 1.forward跳 2.response跳 response.sendredirect 跳轉頁面位址 兩種跳轉的區別如下 1.forward跳 a.伺服器端跳轉,位址列不改變 b.執行到跳轉語句後馬上無條件跳轉,之後的 不再執行 跳轉之前一定要釋放全部資源 c.re...
面試 兩種跳轉的區別
1,1 位址列位址不改變的跳轉 伺服器跳轉 2 執行跳轉語句無條件立刻跳轉,跳轉語句之後的 不被執行 3 注意 由於 2 如果使用forward跳轉,則一定要在跳轉之前釋放掉所有資源 4 使用forward時,request設定的屬性依然能保留在下乙個頁面 setattribute 5 通過傳遞引數...
XML的兩種常見格式
寫了好長時間感覺sax解析也不難理解,主要是xml文件的格式我們不熟悉,熟悉了xml文件的格式,再來看sax解析就好多了 所以寫了這篇關於xml文件常見的兩種格式的詳細解讀 先來模擬一下兩種格式 xml第一種形式 此時我們需要解析的是元素 元素屬性 下面是nsparser的幾個 方法,給出列印結果,...