1、在tomcat——>conf——>servler.xml文件中定義:
<Context path="/test" docBase="/test" defaultSessionTimeOut="3600" isWARExpanded="true" isWARValidated="false" isInvokerEnabled="true" isWorkDirPersistent="false"/>
2、在web.xml中定義:這個針對具體項目:
<session-config> <session-timeout>20</session-timeout> </session-config>
3、在程序中定義:這個就針對具體頁面了:
session.setMaxInactiveInterval(30*60);
4、配置tomcat的session持久化:
<Manager className="org.apache.catalina.session.PersistentManager" saveOnRestart="true" maxActiveSession="-1" minIdleSwap="0" maxIdleSwap="30" maxIdleBackup="0" > <Store className="org.apache.catalina.session.FileStore" checkInterval=”60” directory="../session"/> </Manager>
或
<Store calssName="org.apache.catalina.JDBCStore" driverName="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost/tomsessionDB?user=root&password=" sessionTable="tomcat_session" sessionIdCol="session_id" sessionDataCol="session_data" sessionValidCol="session_valid" sessionMaxInactiveCol="max_inactive" sessionLastAccessedCol="last_access" sessionAppCol="app_name" checkInterval="60" debug="99" />
maxActiveSessions-可處於活動狀態的session數,default -1 不限制
checkInterval - 檢查session是否過期的時間間隔,default 60s
saveOnRestart-服務器關閉時,是否將所有的session保存到文件中;
minIdleSwap/maxIdleSwap-session處於不活動狀態最短/長時間(s),sesson對象轉移到File Store中;(-1表示沒有限制)
maxIdleBackup-超過這一時間,將session備份。(-1表示沒有限制)
directory-文件存儲位置work\Catalina\host name\web app\session\文件名.session
