论坛首页 综合技术论坛

Tomcat session保存至MySQL

浏览 3722 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2015-10-14  

实验环境为tomcat7.0.64 mysql 5

准备工作

1、需要创建session表

     

CREATE TABLE `tomcat_sessions` (
 
	`session_id` varchar(100) NOT NULL,
  
	`valid_session` char(1) NOT NULL,
  
	`max_inactive` int(11) NOT NULL,
  
	`last_access` bigint(20) NOT NULL,
  
	`app_name` varchar(255) DEFAULT NULL,
  
	`session_data` mediumblob,
  
	PRIMARY KEY (`session_id`),
  
	KEY `kapp_name` (`app_name`)

) 
ENGINE=MyISAM DEFAULT CHARSET=utf8;

 

2、将mysql驱动放到$CATALINA_HOME/lib目录下

      这个就不用多费口舌了

3、修改context.xml文件

<Manager className="org.apache.catalina.session.PersistentManager"           
        maxIdleBackup="1"
        minIdleSwap="0"
        maxIdleSwap="0"
        processExpiresFrequency="1"
        saveOnRestart='true'>

        <Store className="org.apache.catalina.session.JDBCStore"                
                connectionURL="jdbc:mysql://localhost:3306/test?user=root&amp;password=123456"
                driverName="com.mysql.jdbc.Driver"
                sessionAppCol="app_name"
                sessionDataCol="session_data"
                sessionIdCol="session_id"
                sessionLastAccessedCol="last_access"
                sessionMaxInactiveCol="max_inactive"
                sessionTable="tomcat_sessions"
                sessionValidCol="valid_session" />
</Manager>

 

试验:

启动tomcat    catalinar.bat run

写两个jsp页面,一个页面里写session.setAttribute("id":"0001");session.setAttribute("name":"jaychang");

 

访问这个jsp,观察MySQL的test数据库的tomcat_sessions表数据



 说明实验成功了!

 

再整一个jsp, <%session.invalidate();%>,访问下

 

发现数据库里这条记录就消失了。

 

至此Tomcat 配置 session保存在MySQL的配置方法,就简单说到这里,希望对您有帮助。如果有好的建议,欢迎讨论。

 

 

 

 

 

 

 

 

 

 

参考:http://stackoverflow.com/questions/17305128/tomcat-user-session-storage-with-jdbcstore-immediate-session-timeout

  • 大小: 528.3 KB
   发表时间:2015-10-20  
你敢用于现网?另外你这个能解决集群?
0 请登录后投票
   发表时间:2015-10-21  
估计是好玩吧,放在cache也比这个靠谱
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics