본문 바로가기

Web Language/JSP

Session(세션) *

  session의 속성

▶ 세션 설정 setAttribute

"세션"이라는 세션에 "값"을 설정한다.

 

▶ 세션 읽기 getAttribute

getAttribute로 "세션"세션의 값인 "값"을 읽어온다. - String Session에 저장한다.

 

▶ 세션 무효화 invalidate

설정된 세션을 모두 무효화 시킨다.

 


  세션 활용 예제

 

앞서 공부하였던 레이아웃 예제를 가져와서 수정하며 세션기능을 추가해볼 예정이다.

 

상단의 top.jsp파일에 로그인 기능을 추가해볼 것이다. Session이 어떻게 쓰이는지 살펴보도록 하자.

 

 

login이라는 새로운 폴더를 만들고, login_pro.jsp 파일을 하나 생성하였다.

그리고 상단 메뉴 아래에 로그인 폼을 만들었다.

 

 

로그인폼 action에 request.getContextPath()를 추가하여 웹 브라우저에서 입력한 정보를 login/login_pro 파일에서 받을수 있게 하였다.

 

 

login_pro 파일을 열어 top.jsp파일의 로그인폼에서 입력했던 "id"와 "pw"를 받아와 String타입의 새로운 변수id, pw를 선언하여 저장하였다.

 

 

임의로 사용자의 정보를 저장하고 웹 브라우저에서 입력한 정보와 일치하는지 알아보는 조건문을 만들었다.

 

세션 사용을 위해, 두개의 사용자정보를 더 추가한다.

이는 위에서 로그인이 성공하였을때, 세션 "SLEVEL"에 dblevel "관리자"를, "SNAME"에 "설채원"을 설정한다.

또한 response.sendRedirect("/")는 "/"의 링크로 이동해주는 구문으로,

잘려서 잘 보이지 않지만

request.getContextPath()+index.jsp 파일로 이동을 해준다. 여기서 getContextPath는 프로젝트의 패스의 주소이다. 그러므로 로그인이 성공하였을 때, 메인 페이지인 index.jsp 파일로 이동이 된다.

 

그리고 설정한 session은 top.jsp에서 읽어와 각각의 새로운 변수를 선언해 저장하도록 한다.

 

 

top.jsp 파일의 로그인폼 주변에 이렇게 설정한다.

session에서 읽어온 "SLEVEL"이 저장된 변수 SLEVEL 의값이 null 일때는 로그인을 할 수 있는 창이 뜬다.

그렇지 않을 경우(session에서 읽어온 값이 있을 경우), 로그인중인 상태이므로 로그인 창 대신 로그인중임을 나타내는 문구와 로그아웃 링크를 걸어준다.

 

또한 로그아웃 버튼 클릭시 login폴더에 logout.jsp 파일로 이동할 수 있게 logout.jsp파일을 생성한다.

 

 

생성한 logout.jsp 파일을 다음과 같이 설정하였다.

session.invalidate(); 구문을 사용하여 지금까지의 세션을 무효화 시킨다.

그리고 alert 구문을 사용하여 로그아웃 경고창을 표시하고,

location.href를 사용하여 다음과 같은 링크로 이동한다.

 

 

로그아웃 버튼 클릭시.

이렇게 로그아웃하여 세션을 무효화 시키는 방법까지 알아보았다.

 

 

 

 

 

'Web Language > JSP' 카테고리의 다른 글

JSP와 DB연결 - SELECT  (0) 2020.04.01
JSP와 DB연결  (0) 2020.04.01
include 활용 *  (0) 2020.04.01
jsp와 java 연결*  (0) 2020.03.31
jsp_데이터받아오기 *  (0) 2020.03.31