728x90
반응형
Ex01.
setSession.jsp
<%@ 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>
<%
//세션 발급
session.setAttribute("id", "test");
session.setAttribute("pwd", "1234");
session.setAttribute("age", 25);
%>
<h3>세션 설정</h3>
</body>
</html>
getSession.jsp
<%@ 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>
<%
//getAttribute( ) 메소드의 반환 유형은 Object 형이므로 반드시 형 변환을 수행한 다음 사용해야 함
//String, Integer = 래퍼 클래스(Wrapper Class)
String id = (String)session.getAttribute("id");
String pwd = (String)session.getAttribute("pwd");
Integer age = (Integer)session.getAttribute("age");
%>
<h3>세션 값 가져오기</h3>
<%=id %> <br>
<%=pwd %> <br>
<%=age %>
</body>
</html>
2022.11.21 - [JAVA/개념정리] - [Java] 래퍼 클래스(Wrapper Class)
[Java] 래퍼 클래스(Wrapper Class)
자바의 자료형은 크게 기본 타입(primitive type)과 참조 타입(reference type)으로 나누어진다. 2022.09.15 - [JAVA/개념정리] - [JAVA] 변수의 자료형 [JAVA] 변수의 자료형 변수 변수란 데이터를 저장하는 메모
jjh93.com
Ex02.
위와 같이 일일히 지정해서 가져올 수 있지만.
세션에 설정된 모든 값 가져와서 확인 할 수도 있다.
getSessions.jsp
<%@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>
<h3>세션에 설정된 모든 값 가져오기</h3>
<%
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>
Ex03. 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>
<h2>세션 정보를 얻어오는 메소드를 사용하기</h2>
<%
String id_str = session.getId();
long lastTime = session.getLastAccessedTime(); //마지막 접속 시간
long createTime = session.getCreationTime(); //생성 시간
long time_used = (lastTime - createTime)/60000; //접속 시간
int inactive = session.getMaxInactiveInterval() / 60;
boolean b_new = session.isNew(); //세션이 존재하면 true, 아닐시 false
%>
[1] 세션 ID는 [<%=session.getId() %>]입니다. <br><hr>
[2] 당신이 웹 사이트에 머문 시간은 <%=time_used %>분 입니다. <br><hr>
[3] 세션의 유효 시간은 <%=inactive %>분 입니다. <br><hr>
[4] 세션이 새로 만들어 졌나요? <br>
<%
if(b_new){
out.print("예! 새로 만들어졌어요.");
} else {
out.print("아니오! 새로 만들지 않았어요.");
}
%>
<hr>
</body>
</html>
.
Ex04. Session 삭제
removeSession.jsp
<%@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>
<%
session.setAttribute("s1_name", "저는 첫번째 값이예요.");
session.setAttribute("s2_name", "저는 두번째 값이예요.");
session.setAttribute("s3_name", "저는 세번째 값이예요.");
out.print("<h3>세션 값을 삭제 하기 전</h3>");
Enumeration names;
names = session.getAttributeNames();
while(names.hasMoreElements()){
String name = names.nextElement().toString();
String value = session.getAttribute(name).toString();
out.print(name + " : " + value + "<br>");
}
out.print("<br><hr><br>");
//설정된 세션의 값들을 모두 삭제합니다.
session.invalidate();
out.print("<h3>세션 값을 삭제 후</h3>");
out.print("과연 세션 아이디가 유효할까요?<br>");
if(request.isRequestedSessionIdValid() == true){
out.print("세션 아이디가 유효합니다.");
}else{
out.print("세션 아이디가 유효하지 않습니다.");
}
%>
</body>
</html>
728x90
반응형
'Spring > JSP' 카테고리의 다른 글
[JSP] 자바빈즈 (Java Beans) (0) | 2022.11.22 |
---|---|
[JSP] 세션(Session)을 사용한 로그인과 로그아웃 (0) | 2022.11.21 |
[JSP] 쿠키(Cookie) (0) | 2022.11.21 |
[JPS] 쿠키(Cookie)와 세션(Session) (0) | 2022.11.21 |
[JSP] selectFrom으로 페이지 이동 (0) | 2022.11.18 |
댓글