標籤:
首先,你需要知道client跳躍和server差別:
client跳轉: response.sendRedict(String path),地址欄發生改變。
不能傳遞request屬性。
server端跳轉:<jsp:forward> 地址欄不發生改變。能傳遞request屬性。
request屬性範圍: 僅僅有在server端跳轉以後,全部設定的內容才會停留下來。
session屬性範圍: 無論是client跳轉還是server端跳轉,僅僅要是是屬性設定了都能夠取得。
1:page:(pageContext)
僅僅在一個頁面中儲存屬性。跳轉之後無效。
表示將一個屬性設定在本頁面上,跳轉之後無效。
當通過<jsp:forward>server跳轉(地址欄不發生改變)之後。屬性無法取得!
2:request:
server跳轉(<jsp:forward>)之後有效;
通過超連結(<a href=""></a>)request設定的屬性是無法取得的;
request屬性在MVC設計模式中使用比較多。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc2hpeWVxaWFuZ2xkaA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >
3:session:
再一次會話範圍中,不管何種跳轉都能夠使用,可是新開的瀏覽器無法使用;
能夠再不論什麼一個與設定頁面相關的頁面中取得;
在超連結中屬性也能夠取得(超串連地址欄改變,屬於client跳轉)。
每個新的瀏覽器串連上server後就是一個新的session。所以新開的瀏覽器中是無法取得session屬性的。
4:application:
在整個server上儲存,全部使用者都能夠使用;
無論新開多少瀏覽器application屬性均可取得,可是一旦server又一次啟動,則之前設定的屬性將所有消失。
著作權聲明:本文部落格原創文章,部落格,未經同意,不得轉載。
JAVA web四個屬性的範圍匯總