Web Server에 있는 데이터 영역을 통해서 데이터를 전달하는 방법
브라우저가 종료되기 전까지 클라이언트의 정보를 유지하게 해주는 기술










makeSession.jsp

<%@ 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>
<ol>
Session : Client의 정보를 유지하기 위해서 사용하는 방법
<li> 저장위치 : ServerPC </li>
<li> 보안 : 우수 </li>
<li> 용량 : 서버가 허용하는만큼 가능 </li>
<li> 저장형식 : 객체 저장 가능 </li>
</ol>
<%
// 1. 세션 값 설정 setAttribute(name(String), value(Object))
session.setAttribute("id", "test");
session.setAttribute("age", 20);
// 어차피 서버가 알아서 세션 아이디를 부여해줄 거기 때문에 따로 응답X
%>
<a href="./Ex04_showSession.jsp"> 세션확인 </a>
</body>
</html>
showSession.jsp

<%@ 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>
<%
// 세션 값 가져오기
String id = (String)session.getAttribute("id");
Integer age = (Integer)session.getAttribute("age");
%>
아이디 : <%= id %> <br>
나이 : <%= age %>
<a href="Ex05_deleteSession.jsp"> 세션삭제 </a>
<a href="Ex06_InvalidateSession.jsp"> 모든세션삭제 </a>
기본 세션 유효시간 : <%= session.getMaxInactiveInterval() %> <br>
세션 아이디 : <%= session.getId() %>
<br>
<% session.setMaxInactiveInterval(5); %>
세션 유효시간 : <%= session.getMaxInactiveInterval() %>
</body>
</html>
deleteSession.jsp

<%@ 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.removeAttribute("id");
session.removeAttribute("age");
%>
<a href="Ex04_showSession.jsp"> 세션확인 </a>
</body>
</html>
InvalidateSession.jsp

<%@ 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.invalidate(); // 무효화하다
%>
<a href="Ex04_showSession.jsp"> 세션확인 </a>
</body>
</html>