博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring-session-redis共享的配置
阅读量:6452 次
发布时间:2019-06-23

本文共 7754 字,大约阅读时间需要 25 分钟。

hot3.png

spring-session-redis共享的配置,为了复制方便特意做到这里。

 

一、 maven web项目的依赖

pom.xml中添加properties

UTF-8
UTF-8
UTF-8
4.3.10.RELEASE

pom.xml添加web项目和spring的依赖

javax.servlet
javax.servlet-api
3.1.0
provided
javax.servlet.jsp
javax.servlet.jsp-api
2.3.1
provided
javax.servlet.jsp.jstl
javax.servlet.jsp.jstl-api
1.2.1
provided
org.apache.taglibs
taglibs-standard-spec
1.2.5
org.apache.taglibs
taglibs-standard-impl
1.2.5
commons-logging
commons-logging
1.2
log4j
log4j
1.2.17
org.springframework
spring-core
${spring.version}
org.springframework
spring-context
${spring.version}
org.springframework
spring-beans
${spring.version}
org.springframework
spring-aop
${spring.version}
org.springframework
spring-expression
${spring.version}
org.springframework
spring-context-support
${spring.version}
org.springframework
spring-web
${spring.version}
org.springframework
spring-webmvc
${spring.version}
org.springframework
spring-jdbc
${spring.version}
org.springframework
spring-tx
${spring.version}
org.springframework
spring-orm
${spring.version}
org.springframework
spring-oxm
${spring.version}
org.springframework
spring-jms
${spring.version}
org.springframework
spring-aspects
${spring.version}
org.springframework
spring-test
${spring.version}

pom.xml添加spring-session-redis的依赖

org.springframework.session
spring-session-data-redis
1.3.1.RELEASE

 

二、 修改web.xml

index.jsp
index.html
contextConfigLocation
classpath:applicationContext.xml
log4jConfigLocation
classpath:log4j.properties
org.springframework.web.util.Log4jConfigListener
org.springframework.web.context.ContextLoaderListener
org.springframework.web.context.request.RequestContextListener
springSessionRepositoryFilter
org.springframework.web.filter.DelegatingFilterProxy
springSessionRepositoryFilter
/*
springmvc
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:springmvc-servlet.xml
1
springmvc
*.do
2

在web.xml中添加了spring的配置,spring-mvc的配置,已经ContLoaderListener和RequestContextListener的监听。

附带提下ContextLoaderListener与RequestContextListener的区别

ContextLoaderListener extends ContextLoader implements ServletContextListener

RequestContextListener implements ServletRequestListener

ServletContextListener extends EventListener。 

ServletContextListener只负责监听Web容器的启动和关闭的事件。
ContextLoaderListener(或ContextLoaderServlet)将Web容器与spring容器进行整合。

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

如果没有显式声明,则 系统默认 在WEB-INF/applicationContext.xml,多个文件可以使用逗号分开。

ServletRequestListener extends EventListener。

ServletRequestListener监听HTTP请求事件,Web服务器接收的每次请求都会通知该监听器。
RequestContextListener将Spring容器与Web容器结合的更加密切。这是可选配置,并且后者与scope=”request”搭配使用。

org.springframework.web.context.request.RequestContextListener

 

三、 配置下applicationContext.xml和springmvc-servlet.xml

applicationContext.xml配置

 

springmvc-serlvet.xml配置

log4j的配置就不贴了。

 

四、 测试对应的controller和jsp页面

login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"	pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>
login.jsp

sessioninfo.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"	pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>
sessioninfo.jsp <%String s = session.getId(); //获取session ID号 %> <%=s %> <%String username = (String)session.getAttribute("username"); //获取session ID号 %>
<%=username %>

TestController

package com.imddy.tsession.controller;import javax.servlet.http.HttpServletRequest;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;@Controllerpublic class TestController {		private static Log log = LogFactory.getLog(TestController.class);		@RequestMapping("/loginGet")    public String loginGet(){		log.info("do loginGet ...");        return "/login";    }		@RequestMapping("/loginPost")    public String loginPost(HttpServletRequest request){		log.info("do loginPost ...");		String username = request.getParameter("username");		request.getSession().setAttribute("username", username);        return "redirect:/sessioninfo.do";    }		@RequestMapping("/sessioninfo")    public String sessioninfo(){		return "/sessioninfo";	}	}

 

测试到2个不通的tomcat中一个端口是8080,另一个端口是8090,测试结果如下图:

转载于:https://my.oschina.net/lenglingx/blog/1609001

你可能感兴趣的文章
理解Docker :Docker 网络
查看>>
通过Application存取公共数据比如登录信息等..
查看>>
intellij maven配置与使用
查看>>
SpringMVC文件下载与JSON格式
查看>>
Q:图像太大,在opencv上显示不完全
查看>>
修正锚点跳转位置 避免头部fixed固定部分遮挡
查看>>
Dubbo序列化多个CopyOnWriteArrayList对象变成同一对象的一个大坑!!
查看>>
linux下ping不通的解决方法
查看>>
利用ItextPdf、core-renderer-R8 来生成PDF
查看>>
irc操作小记
查看>>
JAVA 与 PHP 的不同和相同
查看>>
建立Ftp站点
查看>>
NavigationController的使用
查看>>
多线程编程之Windows环境下创建新线程
查看>>
ASP.Net MVC的开发模式
查看>>
groupbox 下的datagridview的列标题字体修改混乱
查看>>
HDU-3092 Least common multiple---数论+分组背包
查看>>
CentOS 7使用systemctl如何补全服务名称
查看>>
Unity3D NGUI 给button按钮添加单间事件
查看>>
C# 使用各种API
查看>>