프로그래밍/JSP

[JSP] 세션 설정하기

비전공개미 2022. 10. 11. 19:52
반응형
SMALL

loginForm.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>
<form action="sessionEx1.jsp" method="post">
	ID : <input type="text" name="userId"><br>
	PW : <input type="password" name="userPwd"><br>
	<input type="submit" value="로그인">
</form>
</body>
</html>

 

 

 

sessionEx1.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>
<%
//utf-8 encoding
request.setCharacterEncoding("utf-8");

//userId, userPwd 파라미터 값 변수저장
String userId = request.getParameter("userId");
String userPwd = request.getParameter("userPwd");

//setAttribute로 세션 userId설정
session.setAttribute("userId", userId);

//session시간 60초설정
session.setMaxInactiveInterval(60 * 1); 
%>
<h1>Session 예제</h1>
<form action="sessionEx2.jsp" method="get">
	1. 가장 좋아하는 계절은?<br>
	<input type="radio" name="season" value="봄">봄
	<input type="radio" name="season" value="여름">여름
	<input type="radio" name="season" value="가을">가을
	<input type="radio" name="season" value="겨울">겨울
	<p>
	2. 가장 좋아하는 과일은?<br>
	<input type="radio" name="fruit" value="수박">수박
	<input type="radio" name="fruit" value="사과">사과
	<input type="radio" name="fruit" value="복숭아">복숭아
	<input type="radio" name="fruit" value="딸기">딸기
	<br><br>
	<input type="submit" value="결과보기">
</form>
</body>
</html>

 

 

 

sessionEx2.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>
<%
//utf-8 encoding
request.setCharacterEncoding("utf-8");

//season, fruit 파라미터값 변수저장
String season = request.getParameter("season");
String fruit = request.getParameter("fruit");

//세션 userId값 가져오기
String userId = (String)session.getAttribute("userId");

//세션의 고유ID값
String sessionId = session.getId();

//세션의 유효기간
int intervalTime = session.getMaxInactiveInterval();


//userId값이 비어있지 않으면 출력
if(userId != null){
%>
<h1>Session 예제</h1>
<%=userId %>님이 좋아하는 계절과 과일은 <%=season %>과 <%=fruit %>입니다.
<br><br>
세션ID : <%=sessionId %>
<br><br>
세션 유지 시간 : <%=intervalTime %>
<%}else{
	out.print("세션의 시간이 경과되었습니다.");
} %>
</body>
</html>

 

 

 

parameter값은 페이지를 두번 넘어가면 값이 사라진다.

그러므로 session값에 저장해서 마지막페이지에서 불러온다

 

 

 

 

[출력]

Session 예제

홍길동님이 좋아하는 계절과 과일은 여름과 수박입니다.

세션ID : 05E959B5EB882B4DAD60355BEDF904D5

세션 유지 시간 : 60
반응형
LIST