基于spring session实现session共享

生活中,最使人疲惫的往往不是道路的遥远,而是心中的郁闷;最使人痛苦的往往不是生活的不幸,而是希望的破灭;最使人颓废的往往不是前途的坎坷,而是自信的丧失;最使人绝望的往往不是挫折的打击,而是心灵的死亡。所以我们要有自己的梦想,让梦想的星光指引着我们走出落漠,走出惆怅,带着我们走进自己的理想。

导读:本篇文章讲解 基于spring session实现session共享,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

1.引入jar包

<dependency>
    <groupId>org.springframework.session</groupId>
    <artifactId>spring-session-data-redis</artifactId>
    <version>x.x.x</version>
</dependency>

2.配置web.xml

  <filter>
        <filter-name>springSessionRepositoryFilter</filter-name>
        <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>springSessionRepositoryFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

2.配置spring文件

    <!-- Spring session 的配置类 -->
    <bean id="redisHttpSessionConfiguration" class="org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration">
        <property name="maxInactiveIntervalInSeconds" value="1800" />
    </bean>

    <!-- cookie相关配置 -->
    <bean id="defaultCookieSerializer" class="org.springframework.session.web.http.DefaultCookieSerializer">
        <property name="domainName" value="localhost" />
        <property name="useHttpOnlyCookie" value="true" />
        <property name="cookiePath" value="/" />
        <property name="cookieMaxAge" value="1800" />
    </bean>

    <!-- 配置redis连接池 -->
    <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
        <property name="maxTotal" value="20"/>
    </bean>

    <!-- 配置jedis连接工厂,用于连接redis -->
    <bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
        <property name="hostName" value="127.0.0.1" />
        <property name="port" value="6379" />
        <property name="poolConfig" ref="jedisPoolConfig" />
    </bean>

3.编写方法

    @RequestMapping(value = "login",method = RequestMethod.GET)
    @ResponseBody
    public String login(HttpSession session)  {
        JSONObject object = new JSONObject();
        object.put("name","'zhangsan'");
        object.put("pwd",123);
        session.setAttribute("user",object);
       return "Tomcat1登录成功";
    }
    
    @RequestMapping(value = "getUserInfo",method = RequestMethod.GET)
    @ResponseBody
    public String getUserInfo(HttpSession session)   {
         Object user = session.getAttribute("user");
        if (user==null){
            return "请重新登录!";
        }
        JSONObject object = JSONObject.parseObject(user.toString());
        object.put("server","Tomcat1");
        return object.toJSONString();
    }

    @RequestMapping(value = "logout",method = RequestMethod.GET)
    @ResponseBody
    public String logout(HttpSession session)   {
        session.removeAttribute("user");
      return "Tomcat1注销成功";
    }

4.登录
在这里插入图片描述

5.查看redis
在这里插入图片描述
在这里插入图片描述
6.获取用户信息
在这里插入图片描述
在这里插入图片描述
7.注销删除session
在这里插入图片描述
在这里插入图片描述
8.注销状态获取用户信息
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/137153.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!