JSP를 이용해 회원가입 시스템을 만들어 보고 있다.
회원가입을 구현하고 로그인/아웃 기능을 구현한 다음 내정보 수정을 구현하고 있었다.
그런데 다 잘 되는데 '내 정보 수정' 페이지만 가면 세션이 사라져서 member_id가 null이 되는 것이다..
엄청 찾아봤는데, 이유는 이 부분에 있었다!
이 글이 결정적이었다. 정말이지 압도적 감사...
그러니까 내가 메인페이지에 logout 이름의 함수를 만들었고, 그 함수에 세션 삭제 JSP 문법을 넣었고, 그래서 메인페이지가 띄워짐과 동시에 세션이 지워진 것이다.
그래서 메인페이지를 실행시킬 때는 세션이 잘 살아있었는데 이제 메인페이지에서 다른 페이지로 넘어가려니까 세션이 사라진 것...ㅎㅎㅎㅎㅎ
logout.jsp를 만들어서 이 페이지 안에서 코드를 실행시키니 아주 잘 작동한다.
아직 개념 이해가 부족해서 발생한.. 어이없는 착각에서 비롯한 실수이다..
JSP는 서버 단에서 실행되는 것이고 JavaScript는 브라우저에서 실행되는 것이기 때문에 같은 위치에 있는 것 같아도 별개로 실행되는 것이 당연하다.
나는 이게 포토샵의 레이어 같은 개념이라고 이해했다.하나의 그림 (=하나의 코드) 처럼 보이지만 사실은 따로 관리되는 여러 겹의 코드 레이어인 것이다.JSP 레이어랑 JavaScript 레이어가 따로 있는 것!
이라고 처음에 이해했는데, 실행 주체가 달라서 정확한 비유는 아니라고 한다.
아무튼 같은 이유로 다음 코드도 안 된다.
JavaScript if else에 관계없이 JSP 코드가 실행되므로 두 번째 SMSYN 선언에는 오류 메시지가 뜬다.
아휴...
개념정리의 중요성..!!
'개발 의문 해결' 카테고리의 다른 글
스프링 레거시 MVC 프로젝트 Could not initialize class com.thoughtworks.xstream.converters.collections.PropertiesConverter 오류 해결법 (0) | 2023.08.01 |
---|---|
MVC 개발 패턴이란? (0) | 2023.06.08 |
java 사칙연산 결과값 소수점 딱 안 떨어지는 이유 (0) | 2023.04.28 |
JavaScript 함수를 Node.js에서 사용할 수 없는 이유 (0) | 2023.03.30 |
컴퓨터 프로그래밍에서 말하는 엔진은 무엇일까? (0) | 2023.03.22 |