论坛首页 入门技术论坛

Dao中如何取得HttpSession中的数据

浏览 6147 次
该帖已经被评为新手帖
作者 正文
   发表时间:2007-06-25  
DAO


如何在Dao中取得HttpSession中的数据,在用aspectJ做权限判断时需要读取HttpSession的相关信息,应该如何读取?当然不能直接传递session到dao中,查了资料比较好的办法是在filter中初始化session,用ThreadLocal来存储,可能是我对ThreadLocal的理解还不清晰,写了一个跑不起来,大家说应该如何写?
(getHttpSession()方法即使在filter中初始化后读出来的数据也还是空的)这里为了简单起见,ThreadLocal中假设只存用户id这个String类型信息

java 代码
  1. public class HttpSessionFactory {   
  2.   
  3.     public static final ThreadLocal<String> httpSession = new ThreadLocal<String>();   
  4.      public static String getHttpSession() {   
  5.             return (String) httpSession.get();   
  6.         }   
  7.         
  8.      public static void setHttpSession(String userId) {   
  9.             if(httpSession==null){   
  10.                 httpSession.set(userId);   
  11.             }   
  12.         }   
  13. }  
   发表时间:2007-06-25  
不管怎么样,你这样搞都是不合理的
0 请登录后投票
   发表时间:2007-06-25  
想取得session中的什么数据

session不能传   只传里面你需要的数据不行么
0 请登录后投票
   发表时间:2007-06-26  
可以用request
0 请登录后投票
   发表时间:2007-10-20  
都答非所问啊,楼主问怎么用ThreadLocal实现存储HttpSession内的信息,然后AOP等来或得此数据啊。不是用参数传递啊,那样就要改其他类了,偶合性也增强了啊
谁知道啊?
0 请登录后投票
   发表时间:2007-10-20  
#             if(httpSession==null){  
#                 httpSession.set(userId);  
#             }  

这里是进不去的,应该是httpSession!=null,这样当然拿不到值了,我已经可以用了!
0 请登录后投票
   发表时间:2007-10-20  
你这if判断没什么用,去了就行
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics