2014-02-10 45 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(); 
    ... 
}