Dao中如何取得HttpSession中的数据

如何在Dao中取得HttpSession中的数据,在用aspectJ做权限判断时需要读取HttpSession的相关信息,应该如何读取?当然不能直接传递session到dao中,查了资料比较好的办法是在filter中初始化session,用ThreadLocal来存储,可能是我对ThreadLocal的理解还不清晰,写了一个跑不起来,大家说应该如何写?

(getHttpSession()方法即使在filter中初始化后读出来的数据也还是空的)这里为了简单起见,ThreadLocal中假设只存用户id这个String类型信息
public class HttpSessionFactory {   
      
    
    public static final ThreadLocal<String> httpSession = new ThreadLocal<String>();   

    
     public static String getHttpSession() {   

    
            return (String) httpSession.get();   

            }   
            
    
     public static void setHttpSession(String userId) {   

    
            if(httpSession==null){   

                    httpSession.set(userId);   
                }   
            }   
    }  

相关推荐