개발자 미니민의 개발스터디

[JSP] 세션 Session 설정하기 지우기

by mini_min

JSP

[JSP] 세션 Session 설정하기 지우기

✔️ 세션이란?

: 세션은 둘 이상의 page request 에서 사용자를 식별하거나, 웹 사이트를 방문하고 해당 사용자에 대한 정보를 저장하는 방법을 제공한다. 

: Servlet container 는 HttpSession 를 사용하여 HTTP client - HTTP server 간의 세션을 생서한다.

: 세션은 한 명의 사용자에 해당된다. 브라우저 당 하나의 세션 객체만 생성된다.

: 서버는 Cookie, rewriting URL 와 같은 방법으로 세션을 유지하면서 관리할 수 있다.

: 객체를 세션에 바인딩하여 사용자 정보를 유지할 수 있다. 

✨ 로그인 처리 등에서 이용된다.

 

👩‍💻 isNew() : 클라리언트가 세션 iD를 모르는 상태(처음 접속한 상태)에서는 true 를 반환한다.

true 는 클라이언트 정보가 서버에 저장되지 않은 상태이다.

만약 세션이 설정된 경우에는 현재의 세션을 돌려준다. 

<p> isNew() : <%=session.isNew() %> </p>

 

 

✔️ 세션 등록하기

서블릿에서 세션 객체 : HttpSession session = request.getSession();

EL 에서 세션 객체 : sessionScope

 

- 세션 유지기간 설정 (톰캣은 기본 30분이다)

session.setMaxInactiveInterval(60*20 );

 

- 세션에 정보 저장

session.setAttribute("name", "홍자바"); //string, object 
session.setAttribute("age", 20);

 

✔️ 세션 가져오기

session.getAttribute 로 세션 값을 가져온다.

String name = "";
int age = 0;

try{
    // 세션에 저장된 값 
    name = (String)session.getAttribute("name");
    age = (Integer)session.getAttribute("age");

} catch(Exception e){
}

//세션 유지시간
int interval = session.getMaxInactiveInterval();

//세션 아이디
String id = session.getId();

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

String reg_date = sdf.format(new Date(session.getCreationTime()));
String last_date = sdf.format(new Date(session.getLastAccessedTime()));
<p> 이름 : <%=name %>, 나이 : <%=age %> </p>
<p> EL을 이용하여 세션값 가죠오기 : ${sessionScope.name }, ${sessionScope.age}</p>
<p> 세션 최대 유지시간 : <%=interval / 60 %> 분 </p>
<p> 세션 아이디 : <%=id %> </p>
<p> 세션 생성 시간 : <%=reg_date %> </p>
<p> 세션 마지막 접속 시간 : <%=last_date %> </p>

 

✔️ 세션 지우기

session.getAttribute

//세션에 저장된 모든 속성값을 지우고 세션을 초기화
session.invalidate();

 

 

 

 

 

블로그의 정보

개발자 미니민의 개발로그

mini_min

활동하기