tomcat配置session共享到redis

1、采用开源插件https://github.com/cc-chen/tomcat8.5-redis-session-manager,将代码下载下来,导入eclipse中export jar包,在export之前需要配置build path add external jars,包括tomcat的servlet-api.jar,tomcat-juli.jar,tomcat-api.jar,catalina.jar,最后打的报名为tomcat8.5-redis-session-manager.jar

2、本机的java环境如下

java version "1.8.0_111"

Java(TM) SE Runtime Environment (build 1.8.0_111-b14)

Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)

tomcat版本:8.5.20

3、需要下载支持java 8的jedis jar包,直接下载了2.6.2版本的https://github.com/xetorthio/jedis/releases/tag/jedis-2.6.2

4、下载commons-pool2-2.8.0.jar,这个支持java 8

下载链接 http://commons.apache.org/proper/commons-pool/download_pool.cgi

5、复制下面的文件到TOMCAT_BASE/lib目录:

  • tomcat8.5-redis-session-manager.jar
  • jedis-2.6.2.jar
  • commons-pool2-2.8.0.jar

6、重启tomcat

7、测试代码

 

package com.yiibai.springmvcresource;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class MyController {

   
    
    @RequestMapping(value = "/test")
    public String test(HttpSession session, HttpServletRequest request) {
        request.setAttribute("id", session.getId());
        System.out.println(request.getSession().getAttributeNames());
        return "index";
    }

}

 

jsp文件如下

index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<%

    String path = request.getContextPath();

    String basePath = request.getScheme() + "://"

            + request.getServerName() + ":" + request.getServerPort()

            + path + "/";

%>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

<%-- <%@ page isELIgnored ="false" %>   --%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<base href="<%=basePath%>">

<title>My JSP 'TestUpload.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache">

<meta http-equiv="expires" content="0">

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

<meta http-equiv="description" content="This is my page">

</head>

<body>

我的session:${id}

<br> sessionid=<%=session.getId()%></body>

</html>

 

8、

添加下面的配置到tomcat的context.xml中

<Valve className="com.s.tomcat.redissessions.RedisSessionHandlerValve"/> 
<Manager className="com.s.tomcat.redissessions.RedisSessionManager" 
		  host="localhost"
		  port="6379"
		  database="0" 
		  password="xx"
		  maxInactiveInterval="60" /> 

注意redis不需要密码就将password都去掉

9、启动tomcat和redis服务,访问

http://localhost:8080/xxx/test

10、查看redis中是否存储了session数据

 

在调试过程中报错,有可能是jedis之类的jar包的版本不对导致,慢慢调试,有问题交流,谢谢!

 

 

 


 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值