我有一个名为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中的数据而不是创建一个新数据。有任何想法吗?提前致谢。
答案 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();
...
}