登入时session的处理方式

Posted 再也伤不起

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了登入时session的处理方式相关的知识,希望对你有一定的参考价值。

暂时理解不够彻底  有空在详细介绍,先记录代码

1:创建一个工具类  存取当前登录用户

 1 package com.liveyc.eloan.util;
 2 
 3 import javax.servlet.http.HttpSession;
 4 
 5 import org.springframework.web.context.request.RequestContextHolder;
 6 import org.springframework.web.context.request.ServletRequestAttributes;
 7 
 8 import com.liveyc.eloan.base.domain.Logininfo;
 9 
10 
11 /**
12  * 存取当前登录用户的工具类
13  * 
14  * @author Administrator
15  * 
16  */
17 public class UserContext {
18 
19     public static final String CURRENT_LOGININFO_IN_SESSION = "logininfo";
20 
21     private static HttpSession getSession() {
22         return ((ServletRequestAttributes) RequestContextHolder
23                 .getRequestAttributes()).getRequest().getSession();
24     }
25 
26     public static void putCurrent(Logininfo current) {
27         getSession().setAttribute(CURRENT_LOGININFO_IN_SESSION, current);
28     }
29 
30     public static Logininfo getCurrent() {
31         return (Logininfo) getSession().getAttribute(
32                 CURRENT_LOGININFO_IN_SESSION);
33     }
34 
35 }

2:在Controller所在的项目的web.xml中配置监听器

1 <listener>
2     <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
3 </listener>

看源码可发现 包装过程

所以在util工具类中 session的获取方式 

 

以上是关于登入时session的处理方式的主要内容,如果未能解决你的问题,请参考以下文章

django中用户登入时初始化session中保存的数据

django中用户登入时初始化session中保存的数据

我在一个后台登陆时,把用户名存入session中了,如果修改密码session丢失,怎么办

php用户登入与注销(session)

多tomcat 同一个浏览器 多个项目 会导致session覆盖

cookie的处理和代理池的建立