Session 이란
HTTP 프로토콜의 특성
세션의 개요
JSP에서의 세션 관리
메소드명 | 설명 |
---|---|
setAttribute(String name, Object value) | 세션 객체에 속성을 저장한다 |
removeAttribute(String name) | 저장된 속성을 제거한다. |
getAttribute(String name) | 속성을 반환한다. |
getId() | 클라이언트의 세션 ID 값을 반환한다. |
setMaxInactiveInterval(int seconds) | 세션의 유지 시간을 설정한다. |
getMaxInactiveInterval | 세션의 유지 시간을 반환한다. |
invalidate() | 현재의 세션 정보들을 모두 제거한다. |
session.setAttribute(”name”, “lee”);
session.removeAttribute(”name”)
session.setMaxInactiveInterval(1000);
session.invalidate();
예제
sessionTest.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
String name;
if(session.getAttribute("name")!=null){
name=(String)session.getAttribute("name");
}else{
name="세션 값 없음";
}
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Session Test</title>
</head>
<body>
<h2>세션 테스트</h2>
<input type="button" onclick="location.href='sessionSet.jsp'" value="세션 값 저장">
<input type="button" onclick="location.href='sessionDel.jsp'" value="세션 값 삭제">
<input type="button" onclick="location.href='sessionInvalidate.jsp'" value="세션 값 초기화">
<h3><%=name %></h3>
<h3><%=session.getId()%></h3>
</body>
</html>
sessionSet.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%session.setAttribute("name","Session Test!"); %>
<script>
location.href="sessionTest.jsp";
</script>
sessionDel.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%session.removeAttribute("name"); %>
<script>
location.href="sessionTest.jsp";
</script>
sessionInvalidate.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%session.invalidate(); %>
<script>
location.href="sessionTest.jsp";
</script>
SessionTest.jsp 실행 시 화면 (세션 값 삭제 시에도 동일)
세션 값 저장 시 나오는 화면
세션 값 초기화 시 나오는 화면