2022. 12. 5. 23:52ㆍJSP
sessionInit.jsp
============
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>세션만들기</title>
</head>
<body>
<%
/* 스크립트릿으로 내부객체인 session객체를 이용하여 값을 설정한다.현재 이 jsp파일이 서버에
요청을 하게 되면 컨테이너가 서블릿으로 변환되면서 session객체가 자동으로 생성되면서 컴파일이
이루어진다. */
//세션의 속성을 지정하는 코드
session.setAttribute("abcde", 12345);
session.setAttribute("feed", "feed");
%>
<a href="sessionGet.jsp">세션값 확인 이동</a>
</body>
</html>
======================================================================================
sessionGet.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>세션 값 확인</title>
</head>
<body>
<%
//지금은 하나하나의 Name을 주고 Value를 얻어서 출력하는 경우이다.
//session의 getAttribute()의 반환타입은 Object타입이라
//강제로 다운캐스팅 하였다.
Object obj1 = session.getAttribute("abcde"); //속성값 얻기
Integer intValue = (Integer)obj1;//downcasting,integer type으로 박싱을 해줍니다.다운캐스팅
out.println("abcde : " + intValue); //출력
Object obj2 = session.getAttribute("feed");
String str2 = (String)obj2;//downcasting
out.println("feed : " + str2);
%>
<br />
<%
out.print("=============================<br/>");
String sName;
String sValue;
//getAttributeNames()의 반환값은 Enumeration<String> 열거형 제네릭 타입이다.
//여기서는 String만 받도록 제네릭 타입을 설정했다.
//getAttributeNames()은 세션의 설정되어있는 모든 Name값을 다 얻어오는 것이다.
Enumeration<String> en = session.getAttributeNames();
//가져올 데이터가 있느냐?
while(en.hasMoreElements()) {
sName = en.nextElement(); //가져와라.
sValue = session.getAttribute(sName).toString();
out.println("sName : " + sName + "<br/>");
out.println("sValue : " + sValue + "<br/>");
}
out.print("=============================<br/>");
//sessionID는 웹브라우저 하나당 생기는 유니크한 값이다.물론 서버에서 생성해준다.
String sessionID = session.getId();
out.println("sessionID : " + sessionID + "<br/>");
//session의 유효시간은 기본적으로 30분이다.
//설정을 바꾸고 싶다면 tomcat8.5\conf폴더에 web.xml을 노트패드로 열어서
//session부분의 값을 변경하면 된다.
int sessionInterval = session.getMaxInactiveInterval();
out.println("세션 유효시간(초) : " + sessionInterval);
/* C:\apache-tomcat-8.5.61\conf에 가서 web.xml에서 session을
검색하면 session timeout 시간을 설정할 수있다. */
out.print("<br/>=============================<br/>");
//abcde세션의 특정한 값을 삭제하는 코드이다.
//session.removeAttribute("abcde");
Enumeration<String> en1 = session.getAttributeNames();
//가져올 데이터가 있느냐?
while(en1.hasMoreElements()) {
sName = en1.nextElement(); //가져와라.
sValue = session.getAttribute(sName).toString();
out.println("sName : " + sName + "<br/>");
out.println("sValue : " + sValue + "<br/>");
}
out.print("<br/>=============================<br/>");
//세션의 모든 값을 지운다.
session.invalidate();
//유효한 세션id가 있느냐?
if(request.isRequestedSessionIdValid()) {
out.print("session valid");
}
else { //없으면 출력
out.print("session invalid");
}
%>
</body>
</html>
=================================================================
'JSP' 카테고리의 다른 글
forward태그, param태그 (0) | 2022.12.06 |
---|---|
폼태그와 포워드 (0) | 2022.12.06 |
예외 테스트 (0) | 2022.12.05 |
쿠키 만들기 (0) | 2022.12.05 |
JSP 세션 로그인 (0) | 2022.12.05 |