# 세션 설정
<%
Member m1 = new Member("himan","홍길동",1000,"일반회원");
session.setAttribute("s01", m1);
%>
<a href="a04_sessionMenu.jsp">세션확인</a>
# 세션 불러오기(a04_sessionMenu.jsp)
<%
Member m = (Member)session.getAttribute("s01");
boolean hasSess = m!=null;
if(hasSess){
%>
<h3>아이디 : <%=m.getId() %></h3>
<h3>이름 : <%= m.getName()%></h3>
<h3>포인트 : <%=m.getPoint() %></h3>
<h3>권한 : <%=m.getAuth() %></h3>
<%} %>
<script>
var hasSess = <%=hasSess%>
if(!hasSess){
alert("세션이 없습니다. 등록하러 이동하겠습니다.")
location.href="세션 등록할 uri입력"
}
</script>
<h2 onclick="makeSess()">세션 설정 (로그인 후 세션 생성)</h2>
<h2 onclick="delSess()">세션 삭제 (로그아웃)</h2>
<h2>세션 상태</h2>
<%
String sess01 = (String) session.getAttribute("sess01");
boolean hasSess = sess01!=null;
if(hasSess){
out.print("<h3>세션생성 : "+sess01+"</h3>");
}else{
out.print("<h3>세션생성됨 : 없음</h3>");
}
%>
<script type="text/javascript">
var hasSess = <%=hasSess%>
function makeSess(){
location.href="a06_Session.jsp?sess=y"
}
function delSess(){
// 로그인 안되어 있는 상태에서 로그아웃 클릭 시
if(!hasSess) alert("로그인 정보가 없습니다")
location.href="a06_Session.jsp?sess=n"
}
</script>
## a06_Session.jsp
<%
String sess = request.getParameter("sess");
if(sess!=null){
if(sess.equals("y")){
session.setAttribute("sess01", "hi,session!");
}
if(sess.equals("n")){
// session.invalidate(); 전체세션 종료 처리
session.removeAttribute("sess01"); // 특정 세션 종료 처리
}
response.sendRedirect("a05_stopSession.jsp");
}
%>
## a07_sessionExp.jsp
<%
String sess01 = (String)session.getAttribute("sess01");
String sess = request.getParameter("sess");
if(sess!=null&&sess.equals("n")){
session.invalidate(); // 다음 페이지를 호출할 때 없어지므로 다시 페이지를 호출해야함
response.sendRedirect("a07_sessionExp.jsp");
}
%>
<h2>세션상태:<%=sess01!=null?sess01:"세션없음" %></h2>
<form>
<input type="hidden" value="n" name="sess">
<button>세션삭제</button>
<!-- default type이 submit -->
</form>