session 저장/삭제

easyliving·2022년 12월 30일
0

FRONT_END (JAVA_SCRIPT)

목록 보기
19/55

Session 저장


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
	<head>
	<meta charset="UTF-8">
	<title>session setAttribute</title>
	</head>
	<body>
		<h2>섹션 저장하기</h2>
		<% 
          	//cookie방식 
			Cookie cookie=new Cookie("cookieId","easyliving");
			Cookie cookie2=new Cookie("cookieNickName","EASYLIVING");
			cookie.setMaxAge(60*30);
			cookie2.setMaxAge(60*30);
			response.addCookie(cookie);
			response.addCookie(cookie2);
			//Session방식
			session.setAttribute("sessionId", "easyliving");
			session.setAttribute("sessionNickName", "EASYLIVING");
		%>
		
		<br>
		<button type="button"><a href="jsp1227_02_read.jsp"> session읽기</a></button>
	</body>
</html>


Session read

    	1. session.getAttribute("") : 경우 return type이 object이다
        따라서 (String)session.getAttribute("sessionId"); 
        이렇게 (String)type으로 바꿔서 읽어들어온다.
        
        2.Enumeration 객체를 하나 만들어서 모든 session name을 다 읽어들어올 수 있다.
        

		3.session.getId() :return type이 string [session의 고유번호]
        
        4.session.getMaxInactiveInterval(): return type이 int [session 유지시간]
    
    
    
<%@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>session getAttribute</title>
	</head>
	<body>
		<%
          	//쿠키 읽어 들어오기
			/*Cookie[] cookies=request.getCookies();
			for(int i=0; i<cookies.length;i++){
				cookies[i].getName();
				cookies[i].getValue();
			}*/
		
          	//session읽어 들어오기
			String sessionId=(String)session.getAttribute("sessionId"); //return type이 object 
			String sessionNickName=(String)session.getAttribute("sessionNickName");
			//해당 session가져오기 
			out.println("<h2>해당 SESSION</h2>");
			out.println("sessionId:"+sessionId);
			out.println("<br>");
			out.println("sessionNickName:"+sessionNickName);
			out.println("<br>=============================================================<br>");
			
			out.println("<h2>session 모두가져오기(enumeration)</h2>");
			String sessionName;
			String sessionValue;
			
			//모든 session 가져오기 
			Enumeration enumeration=session.getAttributeNames();//enumeration string type
			while(enumeration.hasMoreElements()){
				//enumeration.nextElement().toString();
				sessionName=(String)(enumeration.nextElement());
				sessionValue=(String)(session.getAttribute(sessionName));
				out.println("sessionName:"+sessionName+"<br>");
				out.println("sessionValue:"+sessionValue+"<br>");
				
			} 
			
			out.println("<br>=========================<br>");
			out.println("session getId:"+session.getId()+"<br>"); // session.getId()경우 return type이 string이다
			out.println("session interval:"+session.getMaxInactiveInterval()); //return type은 int		
		%>
		
			<br>
			<button type="button"><a href="jsp1227_02_del.jsp"> session삭제</a></button>
	</body>
</html>


Session delete

	1.session.removeAttribute("NAME"); :session 해당 name 데이터 삭제
    2.session.invalidate(); : session 데이터 전부 삭제
    3.request.isRequestedSessionIdValid();: 요청애 포함된 클라이언트의 세션 id가
    유효하면 true를 리턴하고 유효하지 않으면 false를 반환 
   
<%@page import="org.apache.catalina.webresources.AbstractArchiveResource"%>
<%@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>session removeAttribute, invalidate</title>
	</head>
	<body>
		<%
			//session.removeAttribute("sessionId");
			String sessionName;
			String sessionValue;
			Enumeration enumeration=session.getAttributeNames();
			while(enumeration.hasMoreElements()){
				sessionName=enumeration.nextElement().toString();
				sessionValue=session.getAttribute(sessionName).toString();
				out.println("sessionName:"+sessionName+"<br>");
				out.println("sessionValue:"+sessionValue+"<br>");
			}
			out.println("<br>========================<br>");
			
			session.invalidate();
			out.println("invalidate 모두삭제 됨.");
			if(request.isRequestedSessionIdValid()){
				out.println("session이 존재함");
				out.println("<br>========================<br>");
			}else{
				out.println("session이 존재하지 않음");
			}
		
		%>
	</body>
</html>


공부

profile
가끔져요

0개의 댓글