我有一个名为 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 获取数据,但在每个 servlet 中我必须创建一个新的 Userbean 并且不能使用“getData”方法。总之,我无法从 servlet 中的 bean 访问数据。例如
String uid = userBean.getUid();
每次返回
java.lang.NullPointerException
避免此错误的唯一方法是使用
userBean = new UserBean();
但我想使用已经放入 bean 中的数据,而不是创建新数据。有任何想法吗?提前致谢。
最佳答案
第一次实例化 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();
...
}
关于java - Servlet 无法从 bean 访问数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21686569/