`

resis实现tomcat7 session 共享

阅读更多
resis实现tomcat7 session 共享
1.下载
  compile group: 'redis.clients', name: 'jedis', version: '2.5.2'
  compile group: 'org.apache.commons', name: 'commons-pool2', version: '2.2'

  testCompile 'org.hamcrest:hamcrest-core:1.3'
  testCompile 'org.hamcrest:hamcrest-library:1.3'

  redis-session-tomcat-1.0.jar 附件中有

把下载的jar 报放到lib 文件夹中。

2.在tomcat7 conf/context.xml 文件中添加:

   <Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />
    <Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"
    host="192.168.6.24"
    port="6379"
    database="0"
    maxInactiveInterval="1"
    connectionPoolMaxTotal="5"
    sessionPersistPolicies="ALWAYS_SAVE_AFTER_REQUEST"
     />

   sessionPersistPolicies:策略
   maxInactiveInterval:保存时间(最后与tomcat session相同)
   connectionPoolMaxTotal:最大连接池数量,默认为8




测试代码:
package boce.yun.common.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import com.gjp.dbsubmit.Token;

import boce.yun.base.BaseController;
import boce.yun.pojo.base.User;

@Controller
@RequestMapping("/user")
public class LoginController extends BaseController{


@RequestMapping("/index")
//@Token(save=true)
public ModelAndView index(String token){
if(log.isDebugEnabled()){
log.debug("用户使用了@Token");
}

ModelAndView mav = new ModelAndView("login");

return mav;
}

@RequestMapping("/login")
@Token(remove=true)
public ModelAndView userLogin(User user,String token,HttpServletRequest req){
if(log.isDebugEnabled()){
log.debug("用户开始登陆");
}

ModelAndView mav = new ModelAndView("main");
if(null !=user){
System.out.println(user.getUsername() +"---"+user.getPassword());
}
//获取session ,并且把user对象放入session
HttpSession session = req.getSession();
System.out.println("sessionId:"+session.getId());
session.setAttribute("user", user);



return mav;
}


/**
* 重复提交提示
* @return
*/
@RequestMapping("/error")
public ModelAndView error(){
ModelAndView mav = new ModelAndView("error");
return mav;
}


@RequestMapping("/logout")
public ModelAndView logout(HttpServletRequest req){
ModelAndView mav = new ModelAndView("login");
System.out.println(req.getRequestedSessionId());
User u =(User)req.getSession().getAttribute("user");
if(null !=u){
System.out.println(u.getUsername()+u.getPassword());
}else{
System.out.println("no user");
}


//session 失效
req.getSession().invalidate();


return mav;
}
}
分享到:
评论

相关推荐

    实现session身份认证机制

    在这个主题中,我们将深入探讨如何使用Node.js的Express框架以及cookie来实现session身份认证。 首先,让我们理解一下基本概念: 1. **Session**: 一个session是服务器存储的关于用户的一段数据,通常包括用户ID等...

    VB使用manifest 、Res文件实现win7风格的窗体界面

    VB用两种方法实现win7风格的窗体界面,一种是使用manifest 文件实现,另一种是使用Res资源文件实现,XP风格的manifest文件和win7风格的manifest文件不同,请不要混用,另外请使用5.0版的Microsoft.Windows.Common-...

    Linux 下 Tomcat 7 连接 Oracle 10g

    在Linux环境中配置Tomcat 7连接Oracle 10g数据库是一项常见的任务,特别是在开发和部署Java Web应用时。以下是一个详细的步骤指南: 1. **驱动准备**: Oracle数据库的JDBC驱动通常以`.zip`格式提供,如`classes12...

    tomcat文档

    Tomcat中的阀用于实现一些额外的功能,如日志记录、监控等。 **3.3.9.1 配置客户访问日志阀(AccessLogValve)** 访问日志配置示例: ```xml directory="logs" prefix="localhost_access_log" suffix=".txt" ...

    tomcat-jndi

    在Tomcat中,JNDI主要用来管理资源,例如数据源(DataSource)、邮件会话(Mail Session)以及EJB引用等。通过JNDI,开发者可以将这些资源的配置信息与实际代码分离,增强了代码的可移植性和可维护性。 Tomcat中的...

    apache-tomcat-源码-lib包

    9. **国际化和本地化**:Tomcat支持多语言环境,源码中的`org.apache.tomcat.util.res`包包含资源包,用于处理语言和地区的不同需求。 通过分析和学习Apache Tomcat的源码,开发者可以更好地理解Web服务器的工作...

    Centos7安装resis.docx

    centos7安装redis开发环境,在虚拟机Centos7的开发环境下,经过测试,完善

    Tomcat配置hibernate xml模板

    本篇文章将详细介绍如何在Tomcat中配置Hibernate的XML模板,以便于在Java Web应用中实现高效的数据持久化。 首先,让我们理解这两个核心文件的作用: 1. `server.xml`:这是Tomcat服务器的主要配置文件,位于`conf...

    Tomcat连接池的配置

    Tomcat 7及更高版本提供了两种连接池实现:`Apache Commons DBCP2`和`Apache Tomcat JDBC Pool`。两者各有优劣,`Tomcat JDBC Pool`更现代且功能更强大,通常推荐使用。要在`context.xml`中切换到`Tomcat JDBC Pool`...

    极简版session模块mini-session.zip

     console.log("after set, session data is :");  session.dump();  console.log("session.get(\"userId\") = " session.get("userId"));  session.abandon();  console.log("after abandon, ...

    tomcat配置mysql连接池

    - `&lt;res-sharing-scope&gt;`: 指定数据源是否可以在多个Web应用间共享,这里设置为`Shareable`表示可以被共享。 #### 四、注意事项 - 在实际生产环境中,为了安全起见,请确保`username`和`password`字段填写正确的...

    Tomcat6连接池配置详解(自动重连)

    本文将详细介绍如何在Tomcat6中配置连接池,并实现数据库连接的自动重连功能。 #### 二、Tomcat6连接池配置 **1. 修改`conf/server.xml`文件** 在Tomcat6中配置连接池的第一步是修改`conf/server.xml`文件,增加...

    tomcat配置大全 tomcat配置大全

    Tomcat是一款广泛应用的开源Java Servlet容器,主要用于部署和运行Java Web应用程序。配置Tomcat涉及到多个方面,包括JDBC数据源的设置、上下文配置以及应用中的资源引用。以下是对这些知识点的详细说明: 1. **...

    tomcat跨域

    【描述】:本文将深入探讨在 Tomcat 服务器上处理跨域问题的解决方案,包括理解跨域策略和配置 CORS(跨源资源共享)过滤器。 【标签】:Tomcat跨域,CORS 【正文】: 在Web开发中,由于同源策略的限制,浏览器会...

    tomcat 连接池的配置笔记以及测试源码

    Apache Tomcat JDBC Pool自Tomcat 7版本开始成为默认的连接池实现,因为它提供了更好的性能和功能。 二、配置全局连接池 全局连接池配置通常在`$CATALINA_HOME/conf/context.xml`文件中进行,这样设置的连接池可供...

    jdk5.5+tomcat5.5 环境配置

    jdk5.5+tomcat5.5 环境配置 jdk5.5+tomcat5.5 环境配置是 Java 开发中常用的服务器配置,下面将详细介绍其配置过程。 一、下载和安装 jdk 和 tomcat 首先,需要下载最新的 jdk 和 tomcat 软件包。目前,最新的 ...

    tomcat连接池配置

    Tomcat内置了两个常用的数据库连接池实现:C3P0和Apache DBCP。C3P0是一款功能强大的连接池,支持多数据源,具有自动测试连接、自动回收等功能。Apache DBCP是Apache的一个项目,它基于Jakarta-pool,提供了一个基本...

    Tomcat6配置连接池

    ### Tomcat6配置连接池详解 #### 一、引言 在Java Web开发中,数据库连接池技术的应用极为广泛。合理的数据库连接管理不仅能提高应用程序的性能,还能有效避免因频繁创建销毁连接所导致的资源浪费问题。Apache ...

Global site tag (gtag.js) - Google Analytics