gwooden_코린이

이클립스 JSP 세션(session) 본문

JSP&Servlet

이클립스 JSP 세션(session)

gwooden22 2023. 1. 20. 17:16
728x90

1. JSP 세션(session)

서버에 저장이 됨

보안이 좋음

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h1>세션 생성 페이지</h1>
	<%
		session.setAttribute("id", "abc");
		session.setAttribute("pw", "1234");
		session.setAttribute("age", 25);
	%>
	
	<a href="showSession.jsp">세션 보기</a>
	<a href="showSessionAll.jsp">모든세션 보기</a>
</body>
</html>
<a href="deleteSession.jsp">세션 제거</a>

 

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h1>세션 출력 페이지</h1>
	<%
		String id = (String)session.getAttribute("id");
		String pw = (String)session.getAttribute("pw");
		Integer age = (Integer)session.getAttribute("age");
	%>
	
	id : <%=id %> <br>
	pw : <%=pw %> <br>
	age : <%=age %>
</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>Insert title here</title>
</head>
<body>
	<h1>모든 세션 한번에 출력해주는 페이지</h1>
	
<%
	Enumeration names = session.getAttributeNames(); //리턴을 열거형으로 해서 Enumeration을 사용해야 됨
	
	while(names.hasMoreElements()) { //현재 위치에서 다음 데이터가 있으면 T 아니면 F
		String name = names.nextElement().toString();
		String value = session.getAttribute(name).toString(); //여러 값을 뽑아올떄는 toString를 사용해줘야 된다. 객체 정보를 뽑아올떄
		
		out.print(name + "=" + value + "<br>");
	}
%>
</body>
</html>

 

 

<%@page import="java.util.Date"%>
<%@page import="java.text.SimpleDateFormat"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h1>세션 정보 출력 페이지</h1>
	
<%
	SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

	Date createDate = new Date();
	Date lastDate = new Date();
	
	String id = session.getId(); //세션 id
	//1970-1-1 부터 ms 리턴
	long createTime = session.getCreationTime(); //세션 생성된 시간
	long lastTime = session.getLastAccessedTime(); //마지막 엑세스 시간
	long useTime = (lastTime - createTime) / 1000;
							//리턴값은 초단위로 리턴
	int inActive = session.getMaxInactiveInterval(); //세션 유효시간 기본값(30분)
	
	boolean isNew = session.isNew(); //새 세션이 생성 -> True, 아니면 False
	
	createDate.setTime(createTime);
	lastDate.setTime(lastTime);
	
%>

	세션 id : <%=id %> <br>
	세션 생성 시간 : <%=createTime %> <br>
	세션 생성 날짜 : <%=sdf.format(createDate) %> <br>
	세션 마지막 엑세스 시간 : <%=lastTime %> <br>
	세션 마지막 엑세스 날짜 : <%=sdf.format(lastDate) %> <br>
	웹 페이지 머눈 시간 : <%=useTime %> <br>
	세션 유효시간 : <%=inActive %> <br>
	새 세션 ? : <%=isNew %> <br>
	

	
</body>
</html>

 

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h1>세션 삭제 페이지</h1>
	
<%
	session.removeAttribute("pw");
	/* session.invalidate(); */ //세션 모두 삭제
%>
	
	<a href="showSessionAll.jsp">세션 확인</a>
</body>
</html>
728x90
Comments