7강(접속한 회원 세션 관리하기)

2023. 2. 24. 21:03개발/JSP게시판

세션은 현재 접속한 명의 회원에게 할당되는 고유한 ID다. 서버는 명의 회원을 세션 ID로 구분할 있고, 로그인을 하면 세션이 부여되어서 로그인을 하지 않은 경우와는 다른 화면을 제공할 있다. 이번 포스팅에서는 로그인 했을 때와 회원가입 했을 세션을 부여하여 각각 보여지는 화면이 다르게 보이게 해보자.

 

loginAction.jsp에 로그인 성공했을 세션을 부여하는 코드 추가.

 

 

 

이걸 그대로 복사해서 joinAction에도 로그인이 성공했을 때의 부분에도 넣어주자

 

 

이제 세션을 해지해주는 로그아웃 페이지를 만들어주자. logoutAction.jsp에 joinAction페이지 내용을 모두 복사하여 붙여 넣어주자

 

 

원래 있던 내용을 지워주고, 페이지를 접속한 회원에 세션을 빼앗기도록 invalidate 해서 로그아웃 시켜주자.

 

로그아웃되면 메인 페이지로 돌아가도록 설정

 

이제 로그인을 회원들은 세션아이디를 부여받기 때문에 로그인 여부를 확인할 있다. 그럼 이제 로그인이 유저는 로그인과 회원가입 페이지에 들어갈 없도록 설정하자.

 

 

 

userID라는 변수가 자신에게 할당된 세션 아이디를 담을 있도록 만들어 주는 것이다.

 

 

이미 로그인한 사람은 또다시 로그인 없도록 막아주는 . 이걸 그대로 복사해서 회원가입처리 페이지에도 넣어주자.

 

 

이제 로그인이 사람은  회원가입 페이지에 들어가지 못하게 됐다. 이제 index 페이지를 바꿔주자

 

 

login 메인으로 바꿔주면 처음 접속하는 사람들은 index 페이지가 아니라 메인 페이지로 이동하게 된다.

 

그럼 이제 가장 중요하다고 있는 main 페이지를 만들어보자. login.jsp 파일을 그대로 복사해서 메인에 넣어주자.

그리고 윗쪽에 스크립트 문장을 있도록 라이브러리 추가해주자.

 

 

이제 로그인이 사람들은 로그인 정보를 담을 있도록 만들어주자.

 

 

 

 

로그인을 사람이라면 userID라는 변수에 해당 아이디가 담기게 될거고 그렇지 않은 사람들은 null값이 담기게 것이다.

 

 

메인 페이지이기 때문에 액티브 달아줌. 현재 접속한 페이지가 메인 페이지라는 알려주면 된다.

 

로그인이 되어있지 않은 경우를 추가

 

 

로그인이 됐을 경우 추가

 

 

이제 구현이 되었는지 테스트를 해보자

 

 

메인 페이지에서 메인 부분이 액티브 되어있고 아직 로그인을 하지 않았기 때문에 로그인 회원가입 부분이 뜬다.

 

그럼 회원가입을 해보자.

 

 

회원가입을 하면 바로 메인페이지로 들어가고 우측에 회원관리와 로그아웃이 뜨는 있다.

 

로그인을 했을 때도 동일하게 뜬다. 성공!