두서비
53
2019-07-22 22:36:01
4
205

jsp & servlet 세션관련 질문드립니다


세션을 이용하여 로그인 로그아웃 부분을 구현하고 있는데요.


제가 원하는 것은 로그인시에는 로그아웃으로 보이고 비로그인시에는 로그인으로 보이게 하려고 하는데 페이지만 넘어가면 자꾸 세션이 사라지네요 (정확히는 새로고침하거나 페이지 이동시 null값 생성)

어떻게 해결하면 좋을까요 ? ㅠㅠ

위 사진은 servlet에서 로그인 성공시 세션에 ID를 저장하는 부분이구요.


위 사진은 세션값을 불러와 null이면 로그인창 아니면 로그아웃창.


위 사진은 로그아웃 클릭 시 세션삭제하는 함수.

0
0
  • 답변 4

  • 자라선
    1k
    2019-07-23 08:55:23

    아... 뭔가 했더니

    맨 밑 스크린샷에 <% session.invalidate() %> 를 지워주세요.

    저렇게 사용하게 되면 최초 페이지 로드시 jsp 렌더링으로 먼저 실행 하게 됩니다.

    로그아웃은 빽단으로 호출하셔서 사용하셔야합니다.

    JSP 페이지 로드 순서를 알아보심 될거같네요.

    0
  • 두서비
    53
    2019-07-23 15:30:58

    #자라선

    아 그렇군요 그럼 logout servlet을 만들어 두고 jsp 에서 호출에서 하라는 말씀이신거 같은데

    호출하는  방법은 ajax를 사용해야 하나요 ?

    0
  • 자라선
    1k
    2019-07-23 15:35:40

    @두서비

    로그아웃하는 굳이 비동기식으로 처리할필요는 없죠...

    일반적인게 로그아웃 버튼누르고 위와같이 세션초기화 후 로그인페이지로 보내주세요.

    0
  • 두서비
    53
    2019-07-23 16:25:50

    @자라선

    감사합니다 해결했습니다 !!

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.