2016-04-03 35 views
0

的根據http://www.ibm.com/support/knowledgecenter/SSAW57_7.0.0/com.ibm.websphere.nd.multiplatform.doc/info/ae/ae/cprs_best_practice.html?lang=en終身的Java HttpSession中

避免嘗試保存和重新使用HttpSession對象的每個servlet或JSP文件外: HttpSession對象是HttpRequest的(你可以得到 的功能它只能通過req.getSession方法),並且它的一個副本僅在servlet或JSP文件的服務方法的生命週期內有效 。 無法緩存HttpSession對象,並且在servlet或JSP文件的 範圍之外引用它。

我不爲這裏的理解是說恰恰相反:https://docs.oracle.com/cd/E11035_01/wls100/webapp/sessions.html

會話跟蹤可讓您在多個servlet或HTML頁面來跟蹤用戶的進度

+0

在第一種情況下,一個servlet以複數形式使用。 –

+0

「複數」是什麼意思? – user310291

+0

servlet = servlets,JSP是servlet,但HTML頁面不是servlet,Oracle強調它。 –

回答

0

的一個來自Oracle是好的。例如,如果您在用戶登錄時設置會話屬性「USER」,則用戶的會話在所有頁面上都可用。會話將根據您在web.xml環境中配置的時間(例如,當您使用Tomcat時)過期。 以下是我從文檔中發現: https://tomcat.apache.org/tomcat-5.5-doc/servletapi/javax/servlet/http/HttpSession.html

提供一種方法來識別用戶跨多個頁面請求或訪問一個網站,以存儲有關用戶的信息。 servlet容器使用此接口在HTTP客戶端和HTTP服務器之間創建會話。會話持續一段指定的時間段,跨越來自用戶的多個連接或頁面請求。會話通常對應於一個用戶,他可能會多次訪問某個網站。服務器可以通過許多方式維護會話,例如使用cookie或重寫URL。

希望它有幫助!