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;
}
}
resis实现tomcat7 session 共享
猜你喜欢
转载自gjp014.iteye.com/blog/2372273
今日推荐
周排行