ssm集成springSession解决session会话丢失

web.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">

    <!--固定格式-->
    <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>/*
    

	
    
        contextConfigLocation
        classpath:applicationContext.xml
    
    
        org.springframework.web.context.ContextLoaderListener
    

springSession文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

    <context:annotation-config/>

    <!--定义一个用于专门配置springSession的bean标签配置-->
    <bean class="org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration">
        <property name="maxInactiveIntervalInSeconds" value="1800"/>
        <!--注入一个cookie序列化规则对象-->
        <!--同域名下 不同项目  或者   同根域名不同二级域名下 才需要加下面cookie序列化-->
        <property name="cookieSerializer" ref="defaultCookieSerializer"/>
    </bean>
<!--同域名下 不同项目  或者   同根域名不同二级域名下 加下面的俩个-->
    <bean id="defaultCookieSerializer" class="org.springframework.session.web.http.DefaultCookieSerializer">
        <!--指定springsession中的sessionId存放的位置 存放到域名的根路径下 实现同域名不同项目的session共享-->
        <property name="cookiePath" value="/"/>
        <!--指定springsession中的sessionId存放的位置 存放到跟域名下 即domainName为myweb.com
            适合应用在Nginx的虚拟主机的多城市站点部署上
        -->
        <property name="domainName" value="myweb.com"/>
    </bean>

    <!-- 配置jedis连接工厂,用于连接redis 项目配置过可省略 -->
    <bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
        <property name="hostName" value="192.168.231.128"/>
        <property name="port" value="6379"/>
        <property name="password" value="123456"/>
    </bean>

</beans>

在spring主配置文件引入springSession文件

你可能感兴趣的:(ssm集成springSession解决session会话丢失)