Resis implements tomcat7 session sharing

Resis implements tomcat7 session sharing
1. Download
  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 In the attachment,

put the downloaded jar in the lib folder middle.

2. Add in the tomcat7 conf/context.xml file:

   <Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />
    <Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"
    host="192.168. 6.24"
    port="6379"


    connectionPoolMaxTotal="5"
    sessionPersistPolicies="ALWAYS_SAVE_AFTER_REQUEST"
     />

   sessionPersistPolicies: policy
   maxInactiveInterval: save time (finally same as tomcat session)
   connectionPoolMaxTotal: maximum number of connection pools, default is 8




Test code:
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;
}
}

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326488724&siteId=291194637