본문 바로가기

개발중/JavaServer Pages (JSP)

session 사용법

728x90
반응형

[ 세션에 값 저장하기 ]

세션에 값 저장하는 법은 간단하구나

<%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title> [ 04_setSession.jsp ] </title>
 
 <style type="text/css">
   * { font-size:24pt; }
 </style>
</head>
<body>
	<%
		session.setAttribute("id", "pingsung");
		session.setAttribute("pwd", "test1234");
		session.setAttribute("age", 20);
	%>
</body>
</html>

 

[ 세션에 저장된 값 얻어오기 ]

이것 또한 간편하구나

<%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title> [ 05_getSession.jsp ] </title>
 
 <style type="text/css">
   * { font-size:24pt; }
 </style>
</head>
<body>
	<%
		String  id  = (String) session.getAttribute("id");
		String  pwd = (String) session.getAttribute("pwd");
		Integer age = (Integer)session.getAttribute("age");
	%>
	
	id  : <%=id  %><br>
	pwd : <%=pwd %><br>
	age : <%=age %><br>
</body>
</html> 

 

[ 세션에 설정된 모든 값 얻어오기 ]

<%@page import="java.util.Enumeration"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title> [ 06_getSession.jsp ] </title>
 
 <style type="text/css">
   * { font-size:24pt; }
 </style>
</head>
<body>
	<%
		Enumeration names = session.getAttributeNames();
		
		while( names.hasMoreElements() ){
			
			String name  = names.nextElement().toString();
			String value = session.getAttribute(name).toString();
			out.print( name + " : " + value + "<br>" );
		}
	%>
	
</body>
</html> 

 

[ 세션 정보를 얻어오는 메소드를 사용하기 ]

<%@page import="java.util.Enumeration"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title> [ 07_infoSession.jsp ] </title>
 
 <style type="text/css">
   * { font-size:24pt; }
 </style>
</head>
<body>
	<%
		String id_str = session.getId();
		long lasttime = session.getLastAccessedTime();
		long createtime = session.getCreationTime();
		long time_used= ( lasttime - createtime );
		int  inactive  = session.getMaxInactiveInterval()/60; 
		boolean b_new = session.isNew();
	%>
	
	[1] 세션 ID는 [ <%=session.getId() %> ] 입니다. <br>
	[2] 당신이 웹 사이트에 머문 시간은 <%=time_used %> 분 입니다. <br>
	[3] 세션의 유효 시간은 <%=inactive %> 분입니다. <br>
	[4] 세션이 새로 만들어 졌나요? <br>
	
	<%
		if( b_new ){
			out.print("예! 새로운 세션을 만들었습니다");
		}else{
			out.print("아니요! 새로운 세션을 만들지 않았어요");
		}
	%>
</body>
</html> 

[ 세션에 저장된 특정 객체 삭제하기 ]

<%@page import="java.util.Enumeration"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title> [ 08_removeAttribute.jsp ] </title>
 
 <style type="text/css">
   * { font-size:24pt; }
 </style>
</head>
<body>
	<%
		session.setAttribute("s_name1", "저는 세션에 저장된 첫번 째 값. ^0^ " );
		session.setAttribute("s_name2", "저는 세션에 저장된 두번 째 값. ^0^ " );
		session.setAttribute("s_name3", "저는 세션에 저장된 세번 째 값. ^0^ " );
		
		out.print("<h3> >> 세션 값을 삭제하기 전 << <h3>");
		
		Enumeration names;
		names = session.getAttributeNames();
		
		while( names.hasMoreElements() ){
			String name  = names.nextElement().toString();
			String value = session.getAttribute(name).toString();
			out.println( name + " : " + value + "<br>" );
		}

		session.removeAttribute("s_name2");
		
		out.print("<h3> >> 세션 값을 삭제한 후 << <h3>");
		names = session.getAttributeNames();
		
		while( names.hasMoreElements() ){
			String name  = names.nextElement().toString();
			String value = session.getAttribute(name).toString();
			out.println( name + " : " + value + "<br>" );
		}
		
	
	%>
</body>
</html> 

[ 세션의 모든 값 삭제하기 ]

세션이 더이상 필요하지 않을 때 모두 사라지게 하려면 invalidate() 를 사용합니다.

<%@page import="java.util.Enumeration"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title> [ 09_invalidate.jsp ] </title>
 
 <style type="text/css">
   * { font-size:24pt; }
 </style>
</head>
<body>
	<%
		session.setAttribute("s_name1", "저는 세션에 저장된 첫번 째 값. ^0^ " );
		session.setAttribute("s_name2", "저는 세션에 저장된 두번 째 값. ^0^ " );
		session.setAttribute("s_name3", "저는 세션에 저장된 세번 째 값. ^0^ " );
		
		out.print("<h3> >> 세션 값을 삭제하기 전 << <h3>");
		
		Enumeration names;
		names = session.getAttributeNames();
		
		while( names.hasMoreElements() ){
			String name  = names.nextElement().toString();
			String value = session.getAttribute(name).toString();
			out.println( name + " : " + value + "<br>" );
		}

		session.invalidate();
		
		out.print("<h3> >> 세션 모든 값을삭제한 후 << <h3>");
		if( request.isRequestedSessionIdValid()==true){
			out.print("세션 아이디가 유효 합니다");
		}else{
			out.print("세션 아이디가 유효 하지 않습니다");
		}
		
	
	%>
</body>
</html> 

 

728x90
반응형

'개발중 > JavaServer Pages (JSP)' 카테고리의 다른 글

화폐단위 표현  (0) 2020.08.14
Login  (0) 2020.08.14
Cookies  (0) 2020.08.14
파일 업로드/ 저장  (0) 2020.08.14
session  (0) 2020.08.14