ThreadLocal 总结
在web应用中,将用户信息存放在session中,只有Action层才能拿到用户信息,service层,DB层, DB Interceptor层 要取得用户信息的话,适合使用ThreadLocal。
ThreadLocal的机制是将浏览器发送的request线程 和 本地线程做绑定。以取得数据共享。
GlobalDate 是一个带有ThreadLocal的容器。
GlobalData 最好放在 过滤器中, 而不是放在BaseAction的构造方法中
因为如果action是单例的话, 不会每次request请求 都调用其构造方法
DWR 查询请求也是request请求,也会经过过滤器, 所以用过滤器的方式可行。
GlobalData globalInfo = GlobalData.getCurrentInstance();BaseUserInfo userInfo = globalInfo.getBaseUserInfo();