본문 바로가기

jsp

세션 타임아웃: 세션의 수명을 설정하고 타임아웃 처리하는 예제.

반응형

세션 타임아웃은 웹 애플리케이션에서 사용자가 일정 시간 동안 활동하지 않을 때 세션을 종료시키는 설정입니다. 이는 리소스를 효율적으로 관리하고 보안을 강화하는 데 도움이 됩니다. JSP에서 세션 타임아웃을 설정하고 관리하는 방법을 아래에 두 예제를 통해 설명하겠습니다.

예제 1: 세션 타임아웃 설정하기

이 예제에서는 사용자의 세션 타임아웃을 설정합니다.

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Session Timeout Example</title>
</head>
<body>

<%
    // 세션 타임아웃을 10분(600초)으로 설정
    session.setMaxInactiveInterval(600);

    // 현재 세션 타임아웃 시간 출력
    out.println("Session timeout is set to " + session.getMaxInactiveInterval() + " seconds.");
%>

</body>
</html>

예제 2: 세션 타임아웃 확인 및 처리

이 예제에서는 사용자의 세션 타임아웃이 발생했을 때 사용자에게 메시지를 표시합니다.

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Session Timeout Handling</title>
</head>
<body>

<%
    // 세션 접근 시간 체크
    long lastAccessed = session.getLastAccessedTime();
    long currentTime = System.currentTimeMillis();
    int timeout = session.getMaxInactiveInterval() * 1000;

    if ((currentTime - lastAccessed) > timeout) {
        // 세션 타임아웃 발생 시 처리
        out.println("Your session has timed out. Please log in again.");
    } else {
        // 세션 활성 상태
        out.println("Your session is active.");
    }
%>

</body>
</html>

관련 전문용어 설명

  • 세션 타임아웃(Session Timeout): 세션이 얼마동안 활동이 없을 경우 자동으로 종료되는 시간을 말합니다.
  • setMaxInactiveInterval(): 세션의 최대 비활성 간격(초 단위)을 설정하는 메소드입니다.
  • getLastAccessedTime(): 세션의 마지막에 접근된 시간을 가져오는 메소드입니다.
  • System.currentTimeMillis(): 현재 시간을 밀리초로 반환하는 메소드입니다.

 

 

반응형