프로그래밍/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