네이버 로그인 API를 적용시키다보면 아이디와 비밀번호가 NULL이 나오는 경우가 있다.
왜냐면 네이버 로그인 API에서는 회원 ID와 PWD 정보를 제공해주지 않기 때문.
MEMBER_ID와 MEMBER_PASSWORD는 NOT NULL 속성을 가지기 때문에 에러가 날 수 밖에 없다.
이거는 아이디랑 비밀번호 랜덤 생성해서 네이버 로그인을 시켰는데 내 정보란에 들어가니 세션에 아이디, 세션번호, 관리자 여부가 null로 나오는 상황.
이렇게 로그인 서블릿이랑 세션 저장할 값 맞춰주면 네이버 로그인한 사용자도 정보란을 이용할 수 있을거라 생각했는데 로그인 후 메인으로 나올 때부터 null 값을 갖고 나오고 있다.
그래서 <%@ page session="true" %>를 상단에 추가함.
구글링 해보니 JSP를 기준으로 세션은 page 디렉티브의 session 속성을 true로 지정해주면 해당 페이지를 요청시에 최초 한 번 세션이 생성된다고 한다.
이랬더니 main.jsp갈 땐 괜찮은거 같은데
myInfo.jsp 갈 때 또 문제 발생
이거는 단지 if문 안에서 변수를 선언해서 변수의 scope 이슈였던 에러
memberDTO가 NULL?
자꾸 DB에 존재하는 회원인 경우에도, 네이버로 로그인 하는 경우에도 자꾸만 NULL이 떠서 뭔가 했는데
세션에 정보를 저장하기 전에 DTO가 NULL이 되고 있는 것 같다
그래서 MEMBER DAO를 확인해보니 세션에 회원 번호, 회원 이름, 관리자 여부를 저장해주고 있는데 현재 회원 번호만 뽑아와서 회원 이름이나 관리자 여부가 NULL이 될 수 밖에 없는 것이다.
그래서 쿼리문 수정..
근데? 여전히 null이다
콘솔 로그에는 정보가 잘 들어오고 있는데도 불구하고
근데 login.js에서 값을 못가져와서 그랬던거임
다시 아이디가 null..
DAO에서 또 ID를 가져오지 않기 떄문이다.....
어떤 값을 DB에서 뽑아와야하는지 잘 이해가 안간다 흑흑
'웹 개발' 카테고리의 다른 글
java.util.Date와 java.sql.Date 차이 (0) | 2025.04.10 |
---|---|
DAO에서 while(rs.next)를 사용할 때 (0) | 2025.04.09 |
이메일 인증번호 발송 실패 에러 (0) | 2025.04.07 |
이메일 API 사용하기 (0) | 2025.04.02 |
User Flow 작성 (0) | 2025.04.01 |