HttpServletRequest
jsp中的基本對象。 哪一個更喜歡使用?jsp中的servlet基本對象
request.getSession().setAttribute(myObjectId, myObject);
request.setAttribute("myObjectId", myObjectId);
使用在同一地點會話執行這兩個語句?
HttpServletRequest
jsp中的基本對象。 哪一個更喜歡使用?jsp中的servlet基本對象
request.getSession().setAttribute(myObjectId, myObject);
request.setAttribute("myObjectId", myObjectId);
使用在同一地點會話執行這兩個語句?
這取決於你想要的。在第一種情況下,myObject將具有會話範圍(它將在會話的整個生命週期中可用)。在第二種情況下,它將具有請求範圍(它將在請求的整個生命週期中可用)。
也有應用範圍。
我建議閱讀JSP規範的JSP.1.8.2部分了解更多細節。
http://jcp.org/aboutJava/communityprocess/mrel/jsr245/index.html
這兩種說法都有不同的用途。
第一種方法分爲兩部分。
第一個是request.getSession()
返回與此請求相關的當前會話,或者如果 請求沒有會話,創建一個。
然後setAttribute("myObjectId", myObject);
到會話對象。存儲在此範圍中的值將保留在當前會話中。 更多上session.setAttribute:
第二個request.setAttribute("myObjectId", myObject)
方法 -
商店在此請求中的屬性。屬性在 請求之間重置。此方法最常與
RequestDispatcher
結合使用。
瞭解更多關於request.setAttribute
它取決於你的需求。如果你想保留整個會話的數據,你應該先使用,否則你可以使用第二種方法。 –