본문 바로가기
Exception (예외)/프론트

NullPointerException (예외)

by Hwanii_ 2023. 7. 29.
728x90

NullPointerException == NPE 에러가 어김 없이 발생 했다.

 

A) 예외 발생

 

 

 

B) 예외 이름

 

java.lang.NullPointerException

 

 

 

C) 원인 파악

 

 

을 누르면, 

 

 

위와 같이 모달창이 뜨고,

 

 

원하는 구독을 선택 하고, "이걸로 할게요" 버튼을 클릭 했을 때,

위와 같이 NPE 에러가 발생 했다.

 

[ 코드 확인 하기 ]

 

 

 

 

 

사용자가 원하는 구독 상품을 선택 하고, "이걸로 할게요" 버튼을 클릭 하면,

 

subscriptionupdate.do 액션값이 서블릿에게 전송 된다.

 

EL 표현식으로, 세션에 있는 로그인한 회원의 정보도 같이 넘겨 준다.

 

FrontController.java

 

 

 

세션값 mid를 받고,

 

 

1) 어떤 구독인지 번호를 받기.

 

2) 그 구독이 어떤 구독인지 selectOne() 을 해서 구독 정보를 가져오기.

 

3) 가져온 구독 정보 == 구독 상품의 식별자인 PK를 session이 set 하게 하기.

>>

buyPage.do 로 가서도 해당 PK가 필요 하기 때문에,

코드를 효율적으로 작성 하기 위해, 세션으로 데이터를 보내주는 모습.

 

4) return 값으로 forward 객체를 반환.

 

5) 

 

forward를 return 했으니, if문이 참이라 if문 내부로 들어간다.

 

여기서, dispatcher가 null이 발생한 것이다.

 

D) 해결 방안

 

언뜻 보면, SubscriptionUpdateAction.java 클래스 내부에 작성된,

코드에 문제가 없어 보였지만, 문제가 있었다.

 

forward 객체에 필요한 프로퍼티를 set 해줬는데,

 

아래에서 forward 객체를 새롭게 new 해버린 것이다. 

 

 

위의 코드를 없애면 에러를 해결 할 수 있다 !

 

 

 

 

반응형

'Exception (예외) > 프론트' 카테고리의 다른 글

Exception (예외)  (0) 2023.07.16
JSP 500번 에러  (0) 2023.06.27