<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>session test</title>
</head>
<body>
<h3>session 내장객체</h3>
<%
/*
[session 내장객체]
- httpSession
-요청한 사용자한테 개별적으로 접근(나만의 캐비넷)
- 선언한 세션변수는 전역적 상태로 유지된다
- 요청한 정보의 상태를 유지하기 위해서
- 일정시간동안 이벤트가 발생되지 않으면 자동 삭제
*/
//세션 내장 객체에서 발급해 주는 아이디
out.print("세션 임시 아이디:");
out.print(session.getId());
out.print("<hr>");
//세션변수
//->별도의 자료형이 없다
//->myweb 프로젝트의 모든 페이지에서 공유되는 전역변수(메일/카페/블로그 등 상태유지에 사용)
session.setAttribute("s_id","itwill");
session.setAttribute("s_pw","12341234");
//세션변수값 가져오기
Object obj=session.getAttribute("s_id");
String s_id=(String)obj;
String s_pw=(String)session.getAttribute("s_pw");
out.print("세션변수 s_id:"+s_id+"<hr>");
out.print("세션변수 s_pw:"+s_pw+"<hr>");
//세션변수 강제 제거(로그아웃)->null값
session.removeAttribute("s_id");
session.removeAttribute("s_pw");
out.print("세션변수 삭제"+"<hr>");
out.print("세션변수 s_id:"+session.getAttribute("s_id")+"<hr>");
out.print("세션변수 s_pw:"+session.getAttribute("s_pw")+"<hr>");
//세션 영역에 있는 모든값 삭제
session.invalidate();
//세션 시간
out.print("현재 세션 유지시간");
out.print(session.getMaxInactiveInterval());
out.print("초(30분)");
session.setMaxInactiveInterval(60*10);
out.print("<hr>");
out.print("현재 변경된 세션 유지시간");
out.print(session.getMaxInactiveInterval());
out.print("초(10분)");
/*
/WEB-INF/web.xml 배치관리자에서 세션시간 변경(추천)
<!--세션 유지 시간 설정(20분) 초단위 아님 분단위-->
<session-config>
<session-timeout>20</session-timeout>
</session-config>
*/
%>
</body>
</html>
세션 수정
web.xml의 세션은 수정시 초단위가 아니라 분단위이다.
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID" version="4.0">
<display-name>myweb</display-name>
<!--web.xml 배치관리자-->
<!--웹 어플리케이션의 환경설정, 한글필터, 세션시간-->
<!-- /web-inf/web.xml이 수정되면 반드시 서버를 재시작할것!!-->
<!--/web-inf/lib에 외부 라이브러리가 추가되면 반드시 서버를 재 시작할 것 -->
<!--웹어플리케이션 연결시 첫페이지 등록 -->
<!--http://localhost:9090/myweb 입력하면 index.jsp 자동으로 호출 -->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!--세션 유지 시간 설정(20분) 초단위 아님 분단위-->
<session-config>
<session-timeout>20</session-timeout>
</session-config>
</web-app>