- 浏览: 273092 次
- 性别:
- 来自: 天津
-
文章分类
- 全部博客 (183)
- oracle (4)
- informix (1)
- web开发 (6)
- java (49)
- hibernate (1)
- hadoop (1)
- spring (23)
- 非技术 (8)
- ibatis2 (5)
- Linux (6)
- tomcat (14)
- nginx (7)
- dubbo (3)
- myibatis (7)
- webservice 开发 (2)
- mysql (2)
- svn (2)
- redis (7)
- 分布式技术 (17)
- zookeeper (2)
- kafka (2)
- velocity (1)
- maven (7)
- js (1)
- freemarker (1)
- Thymeleaf (3)
- 代码审计 (1)
- ibatis3 (1)
- rabbitmq (1)
最新评论
1.下载jar
<!-- spring 共享session -->
<!-- https://mvnrepository.com/artifact/org.springframework.session/spring-session-data-redis -->
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
<version>1.3.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session</artifactId>
<version>1.3.1.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.data/spring-data-gemfire -->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-gemfire</artifactId>
<version>1.8.5.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.data/spring-data-mongodb -->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb</artifactId>
<version>1.9.4.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.lambdaworks/lettuce -->
<dependency>
<groupId>biz.paluch.redis</groupId>
<artifactId>lettuce</artifactId>
<version>3.5.0.Final</version>
</dependency>
2.配置文件:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:cache="http://www.springframework.org/schema/cache"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.3.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-4.3.xsd
http://www.springframework.org/schema/cache
http://www.springframework.org/schema/cache/spring-cache.xsd">
<cache:annotation-driven/>
<context:property-placeholder location="classpath:config/redis.properties"/>
<bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig">
<property name="maxIdle" value="50"/>
<property name="maxTotal" value="50"/>
<property name="maxWaitMillis" value="50"/>
<!--<property name="testOnBorrow" value="${redis.testOnBorrow}" />-->
</bean>
<!--<bean id="redisClient" class="redis.clients.jedis.JedisCluster">-->
<!--<constructor-arg name="nodes">-->
<!--<set>-->
<!--<bean class="redis.clients.jedis.HostAndPort">-->
<!--<constructor-arg name="host" value="192.168.6.24"></constructor-arg>-->
<!--<constructor-arg name="port" value="6379"></constructor-arg>-->
<!--</bean>-->
<!--<!–<bean class="redis.clients.jedis.HostAndPort">–>-->
<!--<!–<constructor-arg name="host" value="192.168.31.100"></constructor-arg>–>-->
<!--<!–<constructor-arg name="port" value="7001"></constructor-arg>–>-->
<!--<!–</bean>–>-->
<!--</set>-->
<!--</constructor-arg>-->
<!--<constructor-arg name="poolConfig" ref="poolConfig"></constructor-arg>-->
<!--</bean>-->
<!--<bean id="redisClusterConfiguration" class=" org.springframework.data.redis.connection.RedisClusterConfiguration">-->
<!--<property name="clusterNodes">-->
<!--<set>-->
<!--<value>192.168.6.24:3679</value>-->
<!--<value>192.168.6.24:4679</value>-->
<!--<value>192.168.6.24:5679</value>-->
<!--</set>-->
<!--</property>-->
<!--</bean>-->
<context:annotation-config />
<bean class="org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration"/>
<!--<bean class="org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory"/>-->
<bean id="connectionFactory"
class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
<property name="poolConfig" ref="poolConfig"/>
<property name="port" value="6379"/>
<property name="hostName" value="192.168.6.24"/>
<!--<property name="password" value="${redis.pass}" />-->
<!--<property name="database" value="1" /> 数据库索引-->
<property name="timeout" value="6000"/>
<!--<constructor-arg name="clusterConfig" ref="redisClusterConfiguration"></constructor-arg>-->
</bean>
<bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">
<property name="connectionFactory" ref="connectionFactory"/>
<property name="keySerializer">
<bean
class="org.springframework.data.redis.serializer.StringRedisSerializer"/>
</property>
<property name="valueSerializer">
<bean
class="org.springframework.data.redis.serializer.JdkSerializationRedisSerializer"/>
</property>
</bean>
<!-- 配置缓存 -->
<bean id="cacheManager" class="org.springframework.data.redis.cache.RedisCacheManager">
<constructor-arg ref="redisTemplate"/>
<!--<property name="defaultExpiration" value="60" /> 默认缓存失效时间 60秒-->
<property name="expires">
<map>
<entry key="demopo_update" value="180"/> <!--对缓存名称为demopo_update 设置时间1000秒-->
</map>
</property>
</bean>
</beans>
3.配置web.xml
<!--使用spring session 中的redis begin 注意如果web.xml中有其他过滤器,
一般情况下Spring Session的过滤器要放在第一位。 -->
<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>
<!--使用spring session 中的redis end-->
4.编程测试:
package boce.demo.controller;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpSession;
import java.util.Calendar;
/**
* Created by gjp on 2017/7/20.
*/
@Controller
@RequestMapping("/session/")
public class SessionController {
Logger logger = LoggerFactory.getLogger(SessionController.class);
@RequestMapping(value = "setinfo")
public ModelAndView sessionInfo(){
ModelAndView mav = new ModelAndView("thymeleaf/setsession");
ServletRequestAttributes servletRequestAttributes =(ServletRequestAttributes) RequestContextHolder.currentRequestAttributes();
HttpSession session = servletRequestAttributes.getRequest().getSession();
String value ="boce.com";
String time1 = Calendar.getInstance().getTimeInMillis()+"";
session.setAttribute("userId",value+time1);
session.setAttribute("time1",time1);
logger.info("session value="+value+time1);
return mav;
}
@RequestMapping(value = "getinfo")
public ModelAndView getInfo(){
ModelAndView mav = new ModelAndView("thymeleaf/getsession");
ServletRequestAttributes servletRequestAttributes =(ServletRequestAttributes) RequestContextHolder.currentRequestAttributes();
HttpSession session = servletRequestAttributes.getRequest().getSession();
String userId = (String) session.getAttribute("userId");
String time = (String)session.getAttribute("time");
mav.addObject("userId",userId);
String sessionId = session.getId();
long createTime = session.getCreationTime();
long lastAccessedTime = session.getLastAccessedTime();
int maxInactive = session.getMaxInactiveInterval();
StringBuffer stringBuffer = new StringBuffer(64);
stringBuffer.append("sessionId:").append(sessionId);
stringBuffer.append(";createTime:").append(createTime);
stringBuffer.append(";lastAccessdTime:").append(lastAccessedTime);
stringBuffer.append("maxInactive:").append(maxInactive);
logger.info(stringBuffer.toString());
mav.addObject("time1",time);
mav.addObject("good","good hello world!");
logger.info("session value="+userId+";time1:"+time);
return mav;
}
}
测试结果:
.......
2017-07-21 11:23:22 INFO 11 [boce.common.mvcinterceptor.MVCRequestInterceptor] =preHandle end**********************
2017-07-21 11:23:22 INFO 33 [boce.demo.controller.SessionController] session value=boce.com1500607402364
............
2017-07-21 11:24:35 INFO 56 [boce.demo.controller.SessionController] sessionId:42b9e5d6-2a9f-4c0e-ae9e-2eb2ad1119cc;createTime:1500607429438;lastAccessdTime:1500607468057maxInactive:1800
2017-07-21 11:24:35 INFO 60 [boce.demo.controller.SessionController] session value=boce.com1500607429438;time1:null
<!-- spring 共享session -->
<!-- https://mvnrepository.com/artifact/org.springframework.session/spring-session-data-redis -->
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
<version>1.3.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session</artifactId>
<version>1.3.1.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.data/spring-data-gemfire -->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-gemfire</artifactId>
<version>1.8.5.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.data/spring-data-mongodb -->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb</artifactId>
<version>1.9.4.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.lambdaworks/lettuce -->
<dependency>
<groupId>biz.paluch.redis</groupId>
<artifactId>lettuce</artifactId>
<version>3.5.0.Final</version>
</dependency>
2.配置文件:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:cache="http://www.springframework.org/schema/cache"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.3.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-4.3.xsd
http://www.springframework.org/schema/cache
http://www.springframework.org/schema/cache/spring-cache.xsd">
<cache:annotation-driven/>
<context:property-placeholder location="classpath:config/redis.properties"/>
<bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig">
<property name="maxIdle" value="50"/>
<property name="maxTotal" value="50"/>
<property name="maxWaitMillis" value="50"/>
<!--<property name="testOnBorrow" value="${redis.testOnBorrow}" />-->
</bean>
<!--<bean id="redisClient" class="redis.clients.jedis.JedisCluster">-->
<!--<constructor-arg name="nodes">-->
<!--<set>-->
<!--<bean class="redis.clients.jedis.HostAndPort">-->
<!--<constructor-arg name="host" value="192.168.6.24"></constructor-arg>-->
<!--<constructor-arg name="port" value="6379"></constructor-arg>-->
<!--</bean>-->
<!--<!–<bean class="redis.clients.jedis.HostAndPort">–>-->
<!--<!–<constructor-arg name="host" value="192.168.31.100"></constructor-arg>–>-->
<!--<!–<constructor-arg name="port" value="7001"></constructor-arg>–>-->
<!--<!–</bean>–>-->
<!--</set>-->
<!--</constructor-arg>-->
<!--<constructor-arg name="poolConfig" ref="poolConfig"></constructor-arg>-->
<!--</bean>-->
<!--<bean id="redisClusterConfiguration" class=" org.springframework.data.redis.connection.RedisClusterConfiguration">-->
<!--<property name="clusterNodes">-->
<!--<set>-->
<!--<value>192.168.6.24:3679</value>-->
<!--<value>192.168.6.24:4679</value>-->
<!--<value>192.168.6.24:5679</value>-->
<!--</set>-->
<!--</property>-->
<!--</bean>-->
<context:annotation-config />
<bean class="org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration"/>
<!--<bean class="org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory"/>-->
<bean id="connectionFactory"
class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
<property name="poolConfig" ref="poolConfig"/>
<property name="port" value="6379"/>
<property name="hostName" value="192.168.6.24"/>
<!--<property name="password" value="${redis.pass}" />-->
<!--<property name="database" value="1" /> 数据库索引-->
<property name="timeout" value="6000"/>
<!--<constructor-arg name="clusterConfig" ref="redisClusterConfiguration"></constructor-arg>-->
</bean>
<bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">
<property name="connectionFactory" ref="connectionFactory"/>
<property name="keySerializer">
<bean
class="org.springframework.data.redis.serializer.StringRedisSerializer"/>
</property>
<property name="valueSerializer">
<bean
class="org.springframework.data.redis.serializer.JdkSerializationRedisSerializer"/>
</property>
</bean>
<!-- 配置缓存 -->
<bean id="cacheManager" class="org.springframework.data.redis.cache.RedisCacheManager">
<constructor-arg ref="redisTemplate"/>
<!--<property name="defaultExpiration" value="60" /> 默认缓存失效时间 60秒-->
<property name="expires">
<map>
<entry key="demopo_update" value="180"/> <!--对缓存名称为demopo_update 设置时间1000秒-->
</map>
</property>
</bean>
</beans>
3.配置web.xml
<!--使用spring session 中的redis begin 注意如果web.xml中有其他过滤器,
一般情况下Spring Session的过滤器要放在第一位。 -->
<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>
<!--使用spring session 中的redis end-->
4.编程测试:
package boce.demo.controller;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpSession;
import java.util.Calendar;
/**
* Created by gjp on 2017/7/20.
*/
@Controller
@RequestMapping("/session/")
public class SessionController {
Logger logger = LoggerFactory.getLogger(SessionController.class);
@RequestMapping(value = "setinfo")
public ModelAndView sessionInfo(){
ModelAndView mav = new ModelAndView("thymeleaf/setsession");
ServletRequestAttributes servletRequestAttributes =(ServletRequestAttributes) RequestContextHolder.currentRequestAttributes();
HttpSession session = servletRequestAttributes.getRequest().getSession();
String value ="boce.com";
String time1 = Calendar.getInstance().getTimeInMillis()+"";
session.setAttribute("userId",value+time1);
session.setAttribute("time1",time1);
logger.info("session value="+value+time1);
return mav;
}
@RequestMapping(value = "getinfo")
public ModelAndView getInfo(){
ModelAndView mav = new ModelAndView("thymeleaf/getsession");
ServletRequestAttributes servletRequestAttributes =(ServletRequestAttributes) RequestContextHolder.currentRequestAttributes();
HttpSession session = servletRequestAttributes.getRequest().getSession();
String userId = (String) session.getAttribute("userId");
String time = (String)session.getAttribute("time");
mav.addObject("userId",userId);
String sessionId = session.getId();
long createTime = session.getCreationTime();
long lastAccessedTime = session.getLastAccessedTime();
int maxInactive = session.getMaxInactiveInterval();
StringBuffer stringBuffer = new StringBuffer(64);
stringBuffer.append("sessionId:").append(sessionId);
stringBuffer.append(";createTime:").append(createTime);
stringBuffer.append(";lastAccessdTime:").append(lastAccessedTime);
stringBuffer.append("maxInactive:").append(maxInactive);
logger.info(stringBuffer.toString());
mav.addObject("time1",time);
mav.addObject("good","good hello world!");
logger.info("session value="+userId+";time1:"+time);
return mav;
}
}
测试结果:
.......
2017-07-21 11:23:22 INFO 11 [boce.common.mvcinterceptor.MVCRequestInterceptor] =preHandle end**********************
2017-07-21 11:23:22 INFO 33 [boce.demo.controller.SessionController] session value=boce.com1500607402364
............
2017-07-21 11:24:35 INFO 56 [boce.demo.controller.SessionController] sessionId:42b9e5d6-2a9f-4c0e-ae9e-2eb2ad1119cc;createTime:1500607429438;lastAccessdTime:1500607468057maxInactive:1800
2017-07-21 11:24:35 INFO 60 [boce.demo.controller.SessionController] session value=boce.com1500607429438;time1:null
发表评论
-
spring boot 1.5.6 redis 解决session共享
2017-10-19 10:30 14341.下载: <dependency> ... -
RedisTemplate 对存入redis 中的json 字符串加密和解密
2017-10-11 15:44 6160使用RedisTemplate 对redis操作时,存入的数据 ... -
spring boot 上传文件大小限制
2017-09-25 15:25 1774上传时出现了The field file exceeds it ... -
springboot和fastdfs实现文件ajax上传
2017-09-20 10:54 58281.下载: <dependency> ... -
Spring4 中使用 jasypt 加密数据密码
2017-07-05 16:59 31081.加载类jar <dependency> ... -
spring3 多视图集成
2017-05-17 10:57 541使用spring3.2.9 集成多视图,可以使用jsp页面,f ... -
spring3.2+velocity 实例
2017-05-15 16:40 427Velocity,名称字面翻译为:速度、速率、迅速,用在Web ... -
spring 获取HttpSession ,HttpServletRequest ,HttpServletResponse
2017-05-02 16:30 1141ServletRequestAttributes servle ... -
spring4 + quarz2 集群
2017-03-20 15:55 5731下载: def springVers ... -
spring 测试工具
2017-03-17 17:08 460package com.cloud.test; ... -
拦截 @ResponseBody 标签输出的结果打印日志
2017-03-09 17:22 2253@ResponseBody @RequestMapp ... -
spring4 aop 使用
2017-03-09 10:23 6231.下载 jar //core spring ... -
@ResponseBody 返回对象中的Date类型如何格式化格式
2017-02-21 16:52 14951.首先定义一个格式化Date 类,这个类要实现Jso ... -
string @InitBinder 使用
2017-01-16 15:41 759在SpringMVC中,bean中定义了Date,doubl ... -
String 注解使用
2017-01-12 11:37 869二 @RequestHeader、@CookieVa ... -
Spring 的@RequestMapping注解
2017-01-12 11:35 540@RequestMapping RequestMappi ... -
spring4 使用@ResponseBody 返回中文时发现客户端乱码
2017-01-12 11:01 778在使用spring4 使用@ResponseBody 返回中 ... -
spring JdbcTemplate 不提交的问题
2015-05-29 10:54 4618最近 使用 spring3 的 JdbcTemplate ... -
使用spring3 配置自动任务
2015-05-28 17:47 5881.首先配置 spring3 的配置文件 <? ... -
spring 配置 自动任务
2015-02-03 12:00 592spring 中配置文件,定义 每天6:10:10 ...
相关推荐
python教程学习
tdac034.pdf
veclibm111111111111
nssm工具,进行2次解压后即可
视讯镜头优化,操作不走
【数据结构】的资源,包括书籍、在线课程和网站
北京大学-DeepSeek系列-提示词工程和落地场景.pdf.png
【财信国际经济研究院-2025研报】2025年2月CPI和PPI数据点评:通胀低于预期,内需亟待提振.pdf
【毕业设计】java-springboot+vue精品在线试题库系统源码(完整前后端+mysql+说明文档+LunW).zip
python安装-25.求 a 的 b 次方——有点不好意思哈.py
代码实现了自适应IMM(交互式多模型)算法,专注于对目标状态进行估计,并结合了匀速(CV)和匀加速(CA)运动模型。它使用自适应观测噪声估计和扩展卡尔曼滤波器(EKF)作为滤波主体,并在最后提供误差统计特性输出。
中产品工业物联网联网的基础功能,是企业开启数字化转型的入门之选。它能帮助企业快速搭建起基础的设备数据采集与监控体系,以较低成本实
北京大学DeepSeek系列-DeepSeek与AIGC应用.pdf.png
【毕业设计-java】springboot-vue基于多维分类的知识管理系统实现源码(完整前后端+mysql+说明文档+LunW).zip
## 一、数据介绍 本数据参考C刊《管理评论》佟岩(2024)老师的做法,使用各年度省级政府工作报告中“减碳”关键词的词频总数来测度地方政府对“减碳”的重视程度,“减碳”关键词包括二氧化碳、低碳、减排、节能、能耗、环境保护(环保)、生态、绿色。 本数据包含:原始数据、参考文献、代码do文件、最终结果。 ## 二、参考文献: 佟岩,李鑫,徐国铨.企业集团碳减排压力与债务分布-来自高耗能上市公司的经验证据[J].管理评论,2024,36(02):210-221.DOI:10.14120/j.cnki.cn11-5057/f.2024.02.014 ## 三、相关数据:城市、城市编码、年份、减碳重视程度词频。
python教程学习
jfinal-undertow 用于开发、部署由 jfinal 开发的 web 项目
python学习一些项目和资源
锐捷设备命令最全大合集
uniapp-machine-learning-from-scratch-05.rar