首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 服务器 > Apache >

Apache.Tomcat调整,用cookie取代Tomcat之间Session的复制

2012-11-19 
Apache.Tomcat整合,用cookie取代Tomcat之间Session的复制公司网站用Apache+Tomcat集群后,经过观察发现Tomc

Apache.Tomcat整合,用cookie取代Tomcat之间Session的复制

公司网站用Apache+Tomcat集群后,经过观察发现Tomcat之间的Session复制非常的消耗资源。一个Tomcat挂掉后,另外一个要复制很久才能复制完成。导致如果session很多,一个Tomcat挂掉,网站访问变得很慢.

现在改成Cookie来取替Tomcat之间的复制,具体实现方式如下:

?

登录时将用户信息存入一份在Session中,然后向用户的本机中插入一条cookie信息。由于去掉了Tomcat之间Session的复制所以需要用到Session业务的时候,在一个Tomcat中有session信息,如果在这个过程中被分配到另外一个Tomcat运行后就会出现找不到Session信息的错误。考虑到这一条我写了一个过滤器来对网站的请求进行过滤,先判断session中有没有值。如果有就过,如果没有就到本地来取一次cookie,如果存在即在当前Tomcat上恢复Session.代码如下

?

Cookie工具类

?

过滤器

?

?

登录时加入cookie中

?

 CookieUtil.setCookie(request,response,"cookiename",cookieValue.toString(),60*120);     
?

不知道还有没有更好的办法和改进的余地

1 楼 wuyuwentian 2009-02-05   这样做是不安全的,我们都知道cookie的值是能被伪造的,我觉得你应该对cookie的值加密,服务端需要回复session的时候需要验证cookie的有效性 2 楼 ws715 2009-02-05   wuyuwentian 写道这样做是不安全的,我们都知道cookie的值是能被伪造的,我觉得你应该对cookie的值加密,服务端需要回复session的时候需要验证cookie的有效性
除了安全,还有别的可以改进吗?

热点排行