본문 바로가기
  • Welcome J-Kyu Tstory
[Problem&Solve]

500에러(NullPointerException)

by regularity 2022. 2. 13.
728x90

◎500에러 발생

▶게시판 회원탈퇴 구현 과정에서 발생( 회원탈퇴 버튼 ->500에러 발생)

▶에러 내용: NullPointerException, 즉 세션에 데이터 값이 제대로 존재하지 않아서 발생

◎원인 파익

▶원인에 대한 파악 -> MemberController 에서 데이터 값을 받을때 발생 한 것으로 추측

▶자세한 탐색 (구간별 확인)

 

▶회원탈퇴 메서드 내에서 원인 부분을 찾기위해 구간별로 나누어 출력문을 배치하여 Null값 구간 확인

▶ 출력(4)번 전까지만 실행 됐으며 0~1 사이 KyuMemberVO 형으로 형변환 후 member변수에 넣고 난 후의 과정에서
  userPass 값이 null값임을 발견  -> 일단 Null값 발생한 데이터가 userPass 부분임을 확인 하였음

▶탈퇴 과정 전까지의 범위로 좁혀나감

▶해당과정은 로그인시 세션에 저장되는 데이터값을 oldPass 변수에 넣는 과정이기 때문에 로그인 과정도 값이 잘 들어오는지 테스트

▶로그인 시에도 userPass의 데이터 값이 Null값임을 확인

 

▶DB의 userPass 데이터에는 문제 없음

 

▶그렇다면 로그인 후 저장되있는 DB데이터 값을 가지고 올때 발생한 문제라고 추측 -> Mapper 확인

▶mapper 로그인 파트에 userPass 값이 빠져있음 -> 추가

 

▶로그인시 userPass 데이터값 정상적으로 출력

 

▶회원 탈퇴 작동시 userPass 데이터값 정상 출력

▶탈퇴 기능 정상 구동 확인

 

◎결론

▶mapper에서 필요한 데이터 칼럼명이 생략 되어 null값이 생겼고 NullPointerException에러가 발생 -> 데이터를 호출 과정 부분 신경써서 확인 할 것

※tip -> 원인 발생 구간을 찾기 위해 출력문(System.out.println(-------숫자)) 을 넣어 어디까지 구동하는지 찾는 노하우를 활용 할 것/ System.out.println(확인할 변수명. toString( ))으로 데이터 값 들어있는지 확인

728x90

댓글