[ jsp ] 세션(Session) 세션바인딩(Session Binding) > jsp&servlet

본문 바로가기

사이트 내 전체검색

jsp&servlet

[ jsp ] 세션(Session) 세션바인딩(Session Binding)

작성일 21-02-02 10:19

페이지 정보

작성자 웹지기 조회 6,687회 댓글 0건

본문

❖ 세션(Session)이란?

 - 연결 지속성을 제공하기 위해 서버와 클라이언트에 저장되는 정보

 - 서버에 정보를 요청 할 때 생성되는 상태정보


❖ HttpSession 인터페이스

 HttpSession  인터페이스는 둘 이상의 page request에서 사용자를 식별하거나, 웹사이트를 방문하고 새당 사용자에 대한 정보를 저장하는 방법을 제공.

 Servlet container는 HttpSession을 사용하여 HTTP client - HTTP server 간의 세션을 생성한다. 이때, 세션은 한명의 사용자에 해당한다(개별관리). 서버는 Cookie, rewriting URL와 같은 방법으로 세션을 유지하면서 관리할 수 있다. 객체를 세션에 바인딩하여 사용자 정보를 유지 할 수 있다.

 이를 세션바인딩이라 한다.

 • 세션바인딩 

  - WAS의 컨테이너가 관리하는 세션을 서블릿에서 사용할 수 있도록 제공하는 작업

 • 세션트레킹(Session Tracking)

  - 클라이언트에서 전달된 세션아이디와 동일한 세션을 찾는 작업 

 • 관련 메서드

  -HttpSession's setAttribute("Key", Value)

    "Key"를 사용하여 객체를 세션에 바인딩한다.

    Value는 값으로 들어올 자료형을 예측할 수 없기에 Object형으로 업캐스팅하여 모두 받아낸다.

  - HttpSession's getAttribute("Key")

    "Key"로 바인딩된 객체를 돌려주고, "Key"로 바인딩된 객체가 없다면 null를 돌려준다.

     Value는 세션을 저장할 때 Object형으로 업캐스팅을 했으므로, 가져올 땐 원래대로 다운캐스팅 해야 한다.

  - HttpServletRequest's getSession(true)

    이미 세션이 있다면 그 세션을 돌려주고, 세션이 없으면 새로운 세션을 생성한다.

    request.getSession()로 쓸 수 있다.

  - HttpServletRequest's getSession(false)

    이미 세션이 있다면 그 세션을 돌려주고, 세션이 없으면 null을 돌려준다.


❖ 세션ID

 • 서버가 특정 세션중에 단일 사용자의 작업을 식별하고 추적할 수 있는 방법.

 • 이를 추적하는 방법으로 쿠키, URL(Uniform Resource Locator) 등 다양한 방법을 사용할 수 있다.

 • 세션 ID는 일반적으로 세션 시작시 생성되며 해당 세션 동안 지정된 사용자에게 고유하게 부여된다.

 • JSESSIONID 라는 이름으로 영문자 숫자로 32자의 값을 만든다.

 

KakaoTalk_20210202_100651921.png

 

크롬에서 세션 확인 - Cooke : JSESSION 으로 저장 되어있다.

111.png

 

❖ 세션바인딩(Session Binding)

  - 세션을 가지고와서 비교(getSession())를 해서 있다면 객체바인딩을 한다.

  - HttpSession session = request.getSession(); //세션확인

  - session.setAttribute("vo", vo1); //회원정보를 세션에 담는다.

 

❖ 실습파일 실습파일

 https://github.com/freemaster/SessionLogin


추천0

비추천 0

댓글목록

등록된 댓글이 없습니다.

전체 24건 1 페이지

이미지 목록

게시물 검색
Copyright © 즐거운 코딩 생활 ( funyphp ). All rights reserved.
PC 버전으로 보기