JSP Session 세션

MINJU KIM·2023년 12월 5일

JSP

목록 보기
14/30

세션

클라이언트가 웹 브라우저를 통해서 접속한 후 용무를 처리하고 웹 브라우저를 종료할 때까지의 하나의 단위

세션 유지 시간 설정

web.xml에서

    <session-config>
        <session-timeout>20</session-timeout>
    </session-config>

입력해주면된다.

//혹은 jsp에 추가.
//이 페이지만 적용된다.
    <%
    session.setMaxInactiveInterval(1800); //초 단위
    %>

설정값 확인

<%@ page import="java.text.SimpleDateFormat" %>
<%@ page import="java.util.Date" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    //서버 재시작 해주자
    <%

    SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss"); //날짜 표시 형식

    long creationTime = session.getCreationTime(); //최초 요청(세션 생성) 시각
    String creationTimeStr = dateFormat.format(new Date(creationTime));

    long lastTime = session.getLastAccessedTime(); //마지막 요청 시각
    String lastTimeStr = dateFormat.format(new Date(lastTime));

//        session.setMaxInactiveInterval(1800); //초 단위
    %>

    <title>Session</title>
</head>
<body>
<h2>Session 설정 확인</h2>
<ul>
    <li>세션 유지 시간 : <%= session.getMaxInactiveInterval() %> </li>
    <li>세션 아이디 : <%= session.getId() %> </li>
    <li>최초 요청 시각 : <%= creationTimeStr %> </li>
    <li>마지막 시각 : <%= lastTimeStr %> </li>

</ul>

</body>
</html>

업로드중..

업로드중..
새로고침할 때마다 마지막 시각이 바뀐다.
쿠키도 지우면 세션아이디가 바뀐다.

<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8" %>
<html>
<head>
    <title>Session login 구현 224p</title>
</head>

<body>
<h2>로그인 페이지</h2>
<span style="color : red; font-size : 1.2em;">
    <%= request.getAttribute("LoginErrMsg") == null ?
        "" : request.getAttribute("LoginErrMsg") %>
</span>

<%
    if (session.getAttribute("UserId") == null){ //로그인 상태 확인
    //로그아웃 상태
%>

<script>
    function validateFrom(form){
        if(!form.user_id.value){
            alert("아이디를 입력하세요.");
            return false;
        }
        if(form.user_pw.value == ""){
            alert("패스워드를 입력하세요.");
            return false;
        }
    }
</script>

<form action="LoginProcess.jsp" method="post" name="loginFrm" onsubmit="return validateFrom(this)";>
    아이디 : <input type="text" name="user_id" /><br/>
    패스워드 : <input type="password" name="user_pw" /><br/>
    <input type="submit" value="로그인하기" /><br/>
</form>
<%
    } else { //로그인된 상태
%>
    <%= session.getAttribute("UserName") %> 회원님, 로그인 하셨습니다.<br/>
    <a href = "Logout.jsp">[로그아웃]</a>
<%
    }
%>
</body>
</html>

업로드중..

0개의 댓글