세션
서버 상에 존재하는 객체로서 브라우저 단위당 한 개씩 존재한다.
세션은 웹 브라우저를 닫기 전까지 페이지를 이동하더라도 사용자의 정보를 잃지 않고 서버에 보관할 수 있도록 하는 객체
쿠키의 단점
클라이언트의 컴퓨터에 저장되므로 쿠키가 저장되는 디렉토리만 조사하면 얼마든지 정보를 알아낼 수 있어 보안 유지가 약하다.
저장할 수 있는 데이터도 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 |