갈림길 이정표

[JSP] Session test 본문

Programming Language/Servlet & JSP

[JSP] Session test

이몽뇽 2020. 8. 26. 19:21

(Left) Session 유효시간안에 알맞게 값을 전달 하였을 때 (Right) session1.jsp 에서나 session2.jsp 결과가 나온 후에 유효시간이 만료 되었을 때

[session_test.html]

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="session1.jsp" method="post">
id : <input type="text" name="id">
<input type="submit" value="로그인">
</form>
</body>
</html>
[session1.jsp]

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
request.setCharacterEncoding("utf-8");
String id = request.getParameter("id");
session.setAttribute("idKey", id);	//session 속성은 어느 Servlet파일에서든 유효함 (request로 담으면 그 파일에서만 유효)
session.setMaxInactiveInterval(10);
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h2>세션 연습</h2>
<form action="session2.jsp" method="post">
* 좋아하는 드라마는?<br>
<input type="radio" name="drama" value="악의 꽃" checked="checked">악의 꽃 &nbsp;&nbsp;
<input type="radio" name="drama" value="비밀의 숲">비밀의 숲 &nbsp;&nbsp;
<input type="radio" name="drama" value="모범형사">모범형사 &nbsp;&nbsp;
<br>
<input type="submit" value="결과보기">
</form>
</body>
</html>
[session2.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>
드라마 선택 결과<br>
<%
request.setCharacterEncoding("utf-8");
String drama = request.getParameter("drama");			//request
String myId = (String)session.getAttribute("idKey");	//session은 어디서든 부를 수 있음 (단, casting 필!) - 각각의 클라이언트가 접근할 수 있는 모든 파일 public

if(myId != null){
%>
<%=myId %>란 id를 가진 분이 선택한 드라마는<%=drama %> 입니다.<br>
세션 아이디: <%= session.getId() %><br>
세션 유효시간: <%= session.getMaxInactiveInterval() %>
<%
}else{
	out.println("세션이 설정되지 않음");
}
%>
</body>
</html>
Comments