2014-02-10 19 views
0

我有一个名为Userbean的javabean,我在那里为用户存储数据。Servlet无法访问来自bean的数据

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

你在哪里/如何存储UserBean? HttpSession? –

+0

显示servlet及其名称如何调用 – Sionnach733

+3

我建议您在尝试开发servlet之前阅读有关Java,变量和对象的介绍性书籍。网络编程是一项艰巨的任务,如果你不了解基础知识,你就不会走得太远。 –

回答

2

后您先初始化bean并在一个servlet的设定值,如果你希望能够访问它在其他servlet而无需重新创建它,你需要把它保存在session:

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(); 
    ... 
}