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;
}
}
Resis implements tomcat7 session sharing
Guess you like
Origin http://43.154.161.224:23101/article/api/json?id=326488724&siteId=291194637
Ranking