二级Java:保存登录用户信息-userInfo
来源:优易学  2011-8-21 18:14:43   【优易学:中国教育考试门户网】   资料下载   IT书店
  有时我们需要知道每个用户的登录信息,一般我们是将登录的用户信息是保存在session范围内,而我们在DAO中要是使用用户的某些信息,比哪录录ID,单位ID之类的信息进行过滤时,需要从从control 层传到sevice 层,再传到DAO层,比较麻烦。所以我们利用threadLocal 类来解决这方案,做到在任何类中可以直接得到session中的类型,具体实现思路是:用threadLocal 来保存userInfo的信息,在需要使用的类中只需要 new LocalThreadBean().getUserInfo()就可以得到用户登录信息了。
  首先建立一个bean:
  /**
  *〖文件名〗: LocalThreadBean .java<br>
  *〖功能模块〗:XXX系统<br>
  *〖目的〗: <br>
  *〖开发者〗: <br>
  *〖创建日期〗: 2009-7-28<br>
  *〖版本〗: 1.00<br>
  *〖版权信息〗:XXXX<br>
  *〖更改记录〗: 更改时间、更改人、更改原因、更改内容<br>
  */
  package com.ygsoft.util;
  import java.io.Serializable;
  import javax.servlet.http.HttpServletRequest;
  import com.jframe.mf.model.UserInfo;

  public class LocalThreadBean implements Serializable{
  private static ThreadLocal<Object> threadLocal = new ThreadLocal<Object>();
  public HttpServletRequest getContext(){
  return (HttpServletRequest)threadLocal.get();
  }
  public void setContext(HttpServletRequest request){
  threadLocal.set(request);
  }
  public void cleanContext(){
  threadLocal.set(null);
  }
  public UserInfo getUserInfo()
  {
  return (UserInfo)this.getContext().getSession().getAttribute("UserData");
  }
  }

[1] [2] 下一页

责任编辑:小草

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训