簡體   English   中英

session.setAttribute和request.setAttribute之間有什么區別?

[英]What's the difference between session.setAttribute and request.setAttribute?

session.setAttributerequest.setAttribute之間有什么區別?

范圍,會話屬性僅在請求中存在所有會話和請求屬性

差異在於范圍。 請求范圍的屬性僅在處理當前請求時可見。 會話屬性在來自同一用戶的多個請求之間是持久的。 會話支持機制可能不同(最常見的是基於cookie),但它們都保證會話attrigbute持久性,直到用戶的會話保持不變。

請求屬性僅在request對象生存期中可用。 filters, servlet, jsp, include, forward使用相同的請求對象。 請求完成后,請求對象將被銷毀。

會話屬性可用,直到會話結束或瀏覽器關閉。 因此,差異在於范圍。

例如,流程類似於page1-> page2-> page3-> page4 session.setAttribute將使密鑰在所有頁面中可用。 但是如果我們在page2中使用request.setAttribute ,那么只有page3可以獲得在page2中設置的鍵值。

request.setAttribute()可以幫助您擺脫隱藏的字段。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM