首页 > 代码库 > spring session使用小记

spring session使用小记

在并发量大的WEB系统中,Session一般不使用容器Session,而通常使用Redis作为Session的存储。如果为了保持Servlet机器中的Session接口继续可用,往往需要重新实现Session的接口,Spring Session已帮我们完成了这个实现。我们可以直接拿来使用。相关的配置如下:

    1. 在pom文件中引入相关的依赖

 <dependency>                <groupId>org.springframework.session</groupId>                <artifactId>spring-session-data-redis</artifactId>                <version>1.3.0.RELEASE</version>                <type>pom</type>        </dependency>        <dependency>                <groupId>biz.paluch.redis</groupId>                <artifactId>lettuce</artifactId>                <version>3.5.0.Final</version>        </dependency> 

 

    2. 在spring配置文件中添加相应的Bean

<?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"    xmlns:redis="http://www.springframework.org/schema/redis"    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-4.3.xsd        http://www.springframework.org/schema/redis http://www.springframework.org/schema/redis/spring-redis-1.0.xsd">    <context:annotation-config />    <bean        class="org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration" />    <bean class="org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory">        <property name="hostName" value="127.0.0.1"/>        <property name="port" value="6379"/>        <property name="password" value="xxxxxxx"></property>    </bean></beans>

3. 在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>        <dispatcher>REQUEST</dispatcher>        <dispatcher>ERROR</dispatcher>    </filter-mapping>

 

这样,启动Web项目后,发现Session就保存在Redis中了

spring session使用小记