㈠ 關於java session 設置
其實伺服器是不會知道瀏覽器關閉了沒有,所以關閉瀏覽器時伺服器是不會刪除Session的,也正是這個原因伺服器才會設置一個Session失效時間的,不然伺服器早晚會被撐爆的。
㈡ Java里設置session的幾種方式
由於session值之前沒有設置 以至於剛登錄的網站 不到一分鍾就超時了 總結了一下 原來是session過期的原因 以下粗殲是設置session時間的 個方法
在tomcat——>conf——>servler xml文件中定義岩敬沖
<Context path= /test docBase= /test defaultSessionTimeOut= isWARExpanded= true isWARValidated= false isInvokerEnabled= true isWorkDirPersistent= false /> defaultSessionTimeOut=
在web xml中定義
稿手<session config> <session timeout> </session timeout> </session config>
在程序中定義
session setMaxInactiveInterval( * )
設置單位為秒 設置為 永不過期
lishixin/Article/program/Java/hx/201311/26519
㈢ java實現用戶在5分鍾內無操作後自動清空session
session設置失效時間有以下3個方法:
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都有一個默認的過期時間,其中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,輪詢怎麼保證session失效時間不變呢
設置session失效時間的三種方法
session-timeout(web.xml)元素與session.setMaxInactiveInterval()函數
A) web app server中,如websphere里可以設置超時時間為30分鍾
B)在web.xml中的session-config配置
session-timeout元素(WEB.XML文件中的元素)歲毀用來指定默認的會話超時時間間御雀世隔,以分鍾為單位。該元素值必須為整數。如果 session-timeout元素的值為零或負數,則表示會話將永遠不會超時。如:
<session-config>
<session-timeout>30</session-timeout>
</session-config>
//30分鍾
setMaxInactiveInterval設置的是當前會話的失效時間,不是整個web的時間,鎮肢單位為以秒計算。如果設置的值為零或負數,則表示會話將永遠不會超時。常用於設置當前會話時間。
C) 在程序中手動設置
java 代碼
session.setMaxInactiveInterval(30 * 60);
㈥ java的session什麼時候清空
一般情況下,session都是存儲在內存里,當伺服器進程被停止或者重啟的時候,內存里的session也會被清空,如果設置了session的持久化特性,伺服器就會把session保存到硬碟上,當伺服器進程重新啟動或這些信息將能夠被再次使用。1、session在何時被創建一個常見的誤解是以為session在有客戶端訪問時就被創建,然而事實是直到某server端程序調用HttpServletRequest.getSession(true)這樣的語句時才被創建,注意如果JSP沒有顯示的使用 <%@page session="false"%>關閉session,則JSP文件在編譯成Servlet時將會自動加上這樣一條語句HttpSession session = HttpServletRequest.getSession(true);這也是JSP中隱含的session對象的來歷。
由於session會消耗內存資源,因此,如果不打算使用session,應該在所有的JSP中關閉它。
2、session何時被刪除
綜合前面的討論,session在下列情況下被刪除a.程序調用HttpSession.invalidate();或b.距離上一次收到客戶端發送的session id時間間隔超過了session的超時設置;或c.伺服器進程被停止(非持久session)
3、如何做到在瀏覽器關閉時刪除session
嚴格的講,做不到這一點。可以做一點努力的辦法是在所有的客戶端頁面里使用javascript代碼window.oncolose來監視瀏覽器的關閉動作,然後向伺服器發送一個請求來刪除session。但是對於瀏覽器崩潰或者強行殺死進程這些非常規手段仍然無能為力。
4、有個HttpSessionListener是怎麼回事
你可以創建這樣的listener去監控session的創建和銷毀事件,使得在發生這樣的事件時你可以做一些相應的工作。注意是session的創建和銷毀動作觸發listener,而不是相反。類似的與HttpSession有關的listener還有HttpSessionBindingListener,HttpSessionActivationListener和HttpSessionAttributeListener。
㈦ java web.xml中<listener>設置<session-config>報錯
listem只包森仔搜含戚敬(((description*, display-name*, icon*)), listener-class)
不包此歷含session-config.寫在外面即可。
㈧ 如何判斷session過期 java
設置session的失效時間
a)web.xml中
<session-config>
<session-timeout>30</session-timeout>
</session-config>
b)在程序中手動設置
session.setMaxInactiveInterval(30 * 60);//設置單位為秒,設置為-1永不過期
c)tomcat也可以修改session過期時間,在server.xml中定義context時採用如下定義:
<Context path="/livsorder" docBase="/home/httpd/html/livsorder"
defaultSessionTimeOut="3600" isWARExpanded="true"
isWARValidated="false" isInvokerEnabled="true"
isWorkDirPersistent="false"/>
2.如何判斷session過沒過期
if(request.getSession(false)==null)
System.out.println("Session has been invalidated!");
else
System.out.println("Session is active!");
㈨ Java 設置session時間超時,一直沒有效果,具體該怎麼操作
在web.xml中配置了就可以的。 假如你設置的是5分鍾,那麼在這5分鍾內不能去訪問伺服器。如果訪問了的話,就不會失效的。沒有訪問的話,超過你設置的時間(5分鍾),就會失效
㈩ spring mvc java config怎麼配置session-timeout
具體設置很簡單,方法有三種:
(1)在主頁面或者公共頁面中加入:session.setMaxInactiveInterval(600);參數600單位是秒,即在沒有10分鍾活動後,session將失效。
這里要注意這個session設置的時間是根據伺服器來計算的,而不是客戶端。所以如果是在調試程序,應該是修改伺服器端時間來測試,而不是客戶端。
(2)也是比較通用的設置session失效時間的方法,就是在項目的web.xml中設置
<!-- 設置session失效,單位分 -->
<桐團臘session-config>
<session-timeout>1</session-timeout>
</session-config>
// 設置為0,-1 表示永不超時
(3)直接在應用伺服器中設置,如果是tomcat,可以在tomcat目錄下conf/web.xml中找到元素,tomcat默認設置是30分鍾,只要修改這個值就可以了。
<!-- ==================== Default Session Configuration ================= -->
<!-- You can set the default session timeout (in minutes) for all newly -->
<!-- created sessions by modifying the value below. -->
<session-config>
<session-timeout>30</session-timeout>
</session-config>局滑
需要注意的是如果上述三個地方如果都設置了,有或脊個優先順序的問題,從高到低:(1)>(2)>(3)