본문 바로가기

JSP, Servlet/JSP, Servlet 기초

[JSP/Servlet] session 기초

세션
  서버 상에 존재하는 객체로서 브라우저 단위당 한 개씩 존재한다.
  세션은 웹 브라우저를 닫기 전까지 페이지를 이동하더라도 사용자의 정보를 잃지 않고 서버에 보관할 수 있도록 하는 객체

 쿠키의 단점
  클라이언트의 컴퓨터에 저장되므로 쿠키가 저장되는 디렉토리만 조사하면 얼마든지 정보를 알아낼 수 있어 보안 유지가 약하다.
  저장할 수 있는 데이터도 1.2MB로 한계가 있음.

 세션의 장점
  JSP(서버)에서만 접근 가능하므로 보안 유지에 강력하다.
  저장할 수 있는 데이터에 한계가 없다.

 활용예
  로그인 페이지

 

<세션 관련 메소드>

메소드  설명 
Object getAttribute(String name) 이름에 해당하는 객체 값을 가져온다. 없을 경우에는 null을 반환한다. 반환값은 Object 형이므로 반드시 형 변환을 하여 사용해야 한다. 
Enumeration getAttributeNames() 세션에서 모든 객체의 이름을 Enumeration 형으로 얻어 준다. 
long getCreationTime() 세션이 만들어진 시간을 반환한다. 
String getId() 해당 세션을 가리키는 고유 id 값을 String 형으로 변환한다.
long getLastAccessedTime()  해당 세션이 클라이언트가 마지막으로 request를 보낸 시간을 long형으로 반환한다. 
int getMaxInactiveInterval() 사용자가 다음 요청을 보낼 때까지 세션을 유지하는 최대 시간(초 단위)을 반환한다.
boolean isNew()  해당 세션이 처음 생성되었으면 true, 이전에 생성된 세션이라면 false를 반환한다.
void removeAttribute(String name) 지정된 이름에 해당하는 객체를 세션에서 제거한다.
void setAttribute(String name, Object value) 세션에 지정된 이름에 객체를 추가한다. 
void setMaxInactiveInterval(int interval)  
void setMaxInactiveInterval(int interval) 사용자가 다음 요청을 보낼 때까지 세션을 유지하는 최대 시간(초 단위)을 설정한다. 이 시간을 넘기면 서블릿 컨테이너는 세션을 종료한다. 
void invalidate() 해당 세션을 없애고 세션에 속해있는 값들을 없앤다.
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%
		session.setAttribute("id", "kdhong");
	session.setAttribute("pwd", "1234");
	session.setAttribute("age", 29);
	%>
	
	<h3>setting session</h3>
</body>
</html>

 

 

728x90
반응형

'JSP, Servlet > JSP, Servlet 기초' 카테고리의 다른 글

[JSP/Servlet] 세션 지우기  (0) 2020.08.11
[JSP/Servlet] session 가져오기  (0) 2020.08.11
[JSP/Servlet] Cookie 지우기  (0) 2020.08.11
[JSP/Servlet] Cookie 값 얻어오기  (0) 2020.08.11
[JSP/Servlet] cookie 기초  (0) 2020.08.11