JSP-Session 내장객체

임재헌·2023년 4월 19일
0

JSP

목록 보기
25/33
<%@ 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>

0개의 댓글