『壹』 java web為什麼我的session過期時間設為永不過期,瀏覽器session還是會過期
Tomcat Session過期時間
Tomcat採用資料庫連接池技術,當用戶在一定時間不對資料庫有操作時間後,就自動關閉這個連接,這是為了更好的利用資源,防止浪費寶貴的資料庫連接資源。
可以採用如下三種方式,設置這個連接(Session)的過期時間:
前兩個都是修改tomcat的配置文件conf
1. 在server.xml中定義context時採用如下定義:
xml 代碼
<Context path="/livsorder" docBase="/home/httpd/html/livsorder"
defaultSessionTimeOut="3600" isWARExpanded="true"
isWARValidated="false" isInvokerEnabled="true"
isWorkDirPersistent="false"/>
3600秒=1小時
2. 在web.xml中通過參數指定:
xml 代碼
<session-config>
<session-timeout>30</session-timeout>
</session-config>
其中30表示30分鍾
3. 在程序中通過servlet api直接修改
java 代碼
HttpSession ses = request.getSession();
ses.setMaxInactiveInterval(10);
設置單位為秒,設置為-1永不過期。
『貳』 Java 設置session時間超時,一直沒有效果,具體該怎麼操作
在web.xml中配置了就可以的。 假如你設置的是5分鍾,那麼在這5分鍾內不能去訪問伺服器。如果訪問了的話,就不會失效的。沒有訪問的話,超過你設置的時間(5分鍾),就會失效
『叄』 java如何對SESSION設置有效時間!
程序中session都有一個默認的過期時間,其中tomcat中的默認時間為30分鍾,根據需要我專們可以去手動設置session的過期時屬間,以下是設置session的過期時間的三個方法:
1.在tomcat-->conf-->conf/web.xm中的<session-config>中設置:
<session-config>
<session-timeout>30</session-timeout>
</session-config>
2.在項目的web.xml中定義:
<session-config>? ?
<session-timeout>20</session-timeout>? ?
</session-config>
註:20則設置過期時間為20分鍾
3.在程序中定義:
session.setMaxInactiveInterval(30*60);
『肆』 java 設置session過期時間 就是用戶在指定時間內 不做操作 就要重新登錄 ,這個前後台具體怎麼操作
一般是每個操作前判斷session是否存在。有現成的系統,自己寫也很容易。一般用filter來實現。 注意,某些畫面要特判。例如登錄畫面,密碼遺忘畫面等。否則會死循環。
『伍』 java網站中session 有默認的過期時間嗎
程序中session都有一個默認的過期時間,其中tomcat中的默認時間為30分鍾,根據需要我們可以去手動設置session的過期時間,以下是設置session的過期時間的三個方法:
1.在tomcat-->conf-->conf/web.xm中的<session-config>中設置:
<session-config>
<session-timeout>30</session-timeout>
</session-config>
2.在項目的web.xml中定義:
<session-config>
<session-timeout>20</session-timeout>
</session-config>
註:20則設置過期時間為20分鍾 測試通過
3.在程序中定義:
session.setMaxInactiveInterval(30*60);
設置單位為秒,設置為-1永不過期
『陸』 請問,java高手,java中的session默認是有個有效期的吧,比如有效期是20分鍾,
session 有效期是說 你20分鍾內不再有請求 你一直操作=一直有請求 所以不會斷
『柒』 怎麼在java代碼中獲取Sessionlistener和Session失效時間
java中設置session存在整個web的時間方法如下:
(1)在主頁面或者公共頁面中加入:session.setMaxInactiveInterval(900);
參數900單位是秒,即在沒有活動15分鍾後,session將失效。
這里要注意這個session設置的時間是根據伺服器來計算的,而不是客戶端。所以如果是在調試程序,應該是修改伺服器端時間來測試,而不是客戶端。
(2)也是比較通用的設置session失效時間的方法,就是在項目的web.xml中設置
Xml代碼
[xhtml] view plain
<session-config>
<session-timeout>15</session-timeout>
</session-config>
這里的15也就是15分鍾失效.
(3)直接在應用伺服器中設置,如果是tomcat,可以在tomcat目錄下conf/web.xml中
找到<session-config>元素,tomcat默認設置是30分鍾,只要修改這個值就可以了。
『捌』 java 設置session過期時間 就是用戶在指定時間內 不做操作 就要重新登錄
可以把這個定時的ajax請求在過濾器裡面過濾掉,不用驗證用戶,也不去會影響session。
『玖』 java中怎麼設置一個session在整個web中的時間
java中設置session存在整個web的時間方法如下:
(1)在主頁面或者公共頁面中加入:session.setMaxInactiveInterval(900);
參數版900單位是秒,即在沒有活動15分鍾權後,session將失效。
這里要注意這個session設置的時間是根據伺服器來計算的,而不是客戶端。所以如果是在調試程序,應該是修改伺服器端時間來測試,而不是客戶端。
(2)也是比較通用的設置session失效時間的方法,就是在項目的web.xml中設置
Xml代碼
[xhtml] view plain
<session-config>
<session-timeout>15</session-timeout>
</session-config>
這里的15也就是15分鍾失效.
(3)直接在應用伺服器中設置,如果是tomcat,可以在tomcat目錄下conf/web.xml中
找到<session-config>元素,tomcat默認設置是30分鍾,只要修改這個值就可以了。
『拾』 java session過期問題
1、Session是有生命周期的,生命周期結束,Session就會過期,Session 裡面的信息就會丟失。
2、另外Session可能會因為其他原因導致session覆蓋而過期;
3、下面舉個小例子的原因解釋說明Session因為覆蓋而丟失(過期)
原因解釋:
客戶端(瀏覽器)基於cookie保存交互的session會話信息,但是cookie又是基於域來區分;
假如A_ 和 B_ 項目使用了同一個域,故其cookie所在層級一樣,如果兩個項目都是用默認的sessionCookieName的話就會導致session的相互覆蓋致某一方session丟失(過期);
在 A_項目需要訪問 B_項目中的某一個服務JSP,需要與B_伺服器建立一個session會話(即生成一個sessionID),如果A_項目與B_項目屬於不同的兩個域或者是cookie所屬不同層級,這個新生成的session和A_項目自身的session會話互不幹擾。