2014-02-10 6 views
0

사용자 용 데이터를 저장하는 Userbean이라는 javabean이 있습니다.서블릿이 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;} 
     ... 

나는 서블릿에서 TIS 데이터를 얻을 싶어하지만 모든 서블릿에서 나는 새로운이 UserBean을해야하고 "GetData의"메서드를 사용할 수 없습니다. 즉, 서블릿의 빈에서 데이터에 액세스 할 수 없습니다. exaple를 들어

String uid = userBean.getUid(); 

매번 반환

java.lang.NullPointerException이

나는이 오류를 방지 할 수있는 유일한 방법은

userBean = new UserBean(); 

을 사용하는 것입니다하지만 난 원하는 bean에 이미 들어있는 데이터를 사용하고 새로운 bean을 작성하지 마십시오. 어떤 아이디어? 미리 감사드립니다. 먼저 빈을 인스턴스화하고 당신이 그것을 다시없이 다른 서블릿에 액세스 할 수 있도록하려면, 하나의 서블릿의 값을 설정 한 후

+1

/당신은 어떻게이 UserBean을 저장하는? HttpSession? –

+0

서블릿보기 및 호출 방법 – Sionnach733

+3

서블릿을 개발하기 전에 Java, 변수 및 객체에 대한 소개 서적을 읽어 보시기 바랍니다. 웹 프로그래밍은 어려운 작업이며, 기본을 이해하지 못한다면 멀리 가지 않을 것입니다. –

답변

2

, 당신은 세션에 저장해야합니다

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

또 다른 서블릿에서

UserBean beanvar = (UserBean)session.getAttribute("somename"); 
if(beanvar != null) 
{ 
    String uid = beanvar.getUid(); 
    ... 
} 
관련 문제