1. QUSETION

 

비밀번호 체크 Action 파일인데요


ID-PW 맞았을 경우

ID or PW 안쳤을 경우


두가지는 되는데


ID-PW 틀렸을 경우 java.lang.NullPointerException 에러가 뜨네요.


도저히 방법을 모르겠구요....소스 올려드릴테니 고수님들 도와주세요. 풀 내공 겁니다.

- 소스 생략 -

 

 

2. CLASS

 

public class test_000 {
   public static String uId;
   public static String uPw;
  
   public static String getuId() {
      return uId;
   }
   public void setuId(String uId) {
      this.uId = uId;
   }
  
   public static String getuPw() {
      return uPw;
   }
   public void setuPw(String uPw) {
      this.uPw = uPw;
   }
  
   public static boolean islnvalid(String value) {
      return (value == null || value.length() == 0);
   }
 
   public static String login() {
  

      Map<String, String> map = new HashMap<String, String>();
      map.put("HR_USER_ID", uId);
      map.put("HR_PWD", uPw);
  
      System.out.println("1. login");
      String fail = "login failure";
      String succ = "login success";
    
      if (islnvalid(getuId())){
         System.out.println("1-1. login : " + islnvalid(getuId()));
         return fail;
      }
      if (islnvalid(getuPw())){
         System.out.println("1-2. login : " + islnvalid(getuPw()));
         return fail;
      }
  
      System.out.println("2. login id & pass not null");

      System.out.println("2-1. id : " + map.get("HR_USER_ID"));
      System.out.println("2-2. pwd : " + map.get("HR_PWD"));
    
      if (!map.get("HR_USER_ID").equals("aa") || !map.get("HR_PWD").equals("bb")){

      // if(map.get("HR_USER_ID").equals("aa") && map.get("HR_PWD").equals("bb")==false){ // 원래 소스부분
         return fail;
      } else {
         return succ;
      }
   }
 
   public static void main(String[] args) {
      uId = "aa";
      uPw = "ba";


      try{
         System.out.println(login()); 
      }catch(Exception e){
         System.out.println("login Excepted"); 
      }
   }

}



3. RUN


2-1. case

  uId = "aa";
  uPw = "bb";


1. login
2. login id & pass not null
2-1. id : aa
2-2. pwd : bb
login success



2-2. case

  uId = "aa";
  uPw = "b1";


1. login
2. login id & pass not null
2-1. id : aa
2-2. pwd : b1
login failure



2-3. case

  uId = "a1";
  uPw = "b1";


1. login
2. login id & pass not null
2-1. id : a1
2-2. pwd : b1
login failure