Servlet无法从bean访问数据

时间:2014-02-10 19:49:52

标签: java servlets javabeans

我有一个名为Userbean的javabean,我为用户存储数据。

public class UserBean
{
        public String uid;               //User ID
        public String password;          //Password    
        public String email;           //Email
        ...
        public UserBean() {}

        public void setUid(String str) {uid = str;}
        public String getUid() { return uid;}
        ...

我想从servlet获取tis数据,但在每个servlet中我必须创建一个新的Userbean并且不能使用“getData”方法。总之,我无法从servlet中的bean访问数据。对于exaple

String uid = userBean.getUid();

每次都返回

  

显示java.lang.NullPointerException

我可以避免此错误的唯一方法是使用

userBean = new UserBean();

但是我想使用已经放在bean中的数据而不是创建一个新数据。有任何想法吗?提前致谢。

1 个答案:

答案 0 :(得分:2)

首次实例化bean并在一个servlet中设置值后,如果您希望能够在其他servlet中访问它而不重新创建它,则需要将其保存在会话中:

UserBean beanvar = new UserBean();
beanvar.setUID(uid);
session.setAttribute("somename", beanvar);

在另一个servlet中,

UserBean beanvar = (UserBean)session.getAttribute("somename");
if(beanvar != null)
{ 
   String uid = beanvar.getUid();
  ... 
}
相关问题