728x90
반응형
홈페이지에서 로그인을 하게 되면 메인페이지로 이동하면서 세션(session)으로 로그인된 회원의 정보를 가지고 이동하는 작업에서 NullPointException 이 발생했다. 컨트롤러에서는 값을 sysout으로 찍어보면 잘 들어가고 넘어가는 가는 것을 확인했는데, 브라우저를 다시 실행하니 500에러와 NullPointerException이 발생하였다.
컨트롤러에서 로그인부분에서 세션(session) 값을 넘기는 부분
if (midx > 0) {
HttpSession session = request.getSession();
session.setAttribute("S_memberId", memberId);
session.setAttribute("midx", midx);
out.println("<script>document.location.href='메인페이지로 이동경로'</script>");
}else{
out.println("<script>document.location.href='로그인페이지로 이동경로'</script>");
}
Controller에서 값을 넘길때에는 문제가 없었다.
문제는 Session값을 받는 페이지에서 발생
위 사진처럼 값을 받게 되면 로그인이 되어있지 않을때, 즉 Sesstion에 담긴 값이 null일때 NullPointException이 발생한다.
if문으로 null일때의 예외처리가 필요하다.
<%
String member_id = (String)session.getAttribute("S_memberId");
int midx = 0;
if (session.getAttribute("midx") != null) {
midx = (int)session.getAttribute("midx");
}
out.println("세션에 담긴 아이디는?");
out.println(member_id);
out.println(midx);
%>
Sesstion에 담긴 id는 페이지 중간부분에 if문이 있어서 처리를 해주지 않았다.
하지만 midx는 이러한 if문으로 null일 경우의 처리를 해주지 않았기 때문에 NullPointException이 발생한것이다.
방법은 간단하다 midx를 0 으로 초기화 해준 뒤. nulll이 아닐경우에 midx에 값을 넣어주면 되는것이다.
728x90
반응형
'Web Programming > JAVA MVC' 카테고리의 다른 글
Controller에서 ArrayList Vo를 JSP로 보내고, JSP에서 받고 사용하기. (0) | 2021.06.28 |
---|---|
Dao / java.sql.SQLException (0) | 2021.06.23 |
JAVA MVC / dao 생성하기, 생성자 (0) | 2021.06.18 |