세션 기반 로그인은 사용자 정보를 서버의 세션에 저장하여 로그인 상태를 관리하는 방법입니다. 사용자가 로그인하면 서버는 해당 사용자의 정보를 세션에 저장하고, 사용자는 세션 ID를 통해 인증됩니다. 이 ID는 사용자가 로그아웃하거나 세션이 만료될 때까지 유효합니다. 아래는 세션 기반 로그인과 로그아웃 시스템을 구현하는 두 가지 예제입니다.
예제 1: 세션 기반 로그인
이 예제는 사용자로부터 아이디와 비밀번호를 받아, 성공적으로 로그인 처리를 한 후, 세션에 사용자 정보를 저장합니다.
login.jsp
<!DOCTYPE html>
<html>
<head>
<title>Session Based Login</title>
</head>
<body>
<form action="loginHandler.jsp" method="post">
Username: <input type="text" name="username"><br>
Password: <input type="password" name="password"><br>
<input type="submit" value="Login">
</form>
</body>
</html>
loginHandler.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
String username = request.getParameter("username");
String password = request.getParameter("password");
// Dummy validation for username and password. Replace with database validation in real app
if("admin".equals(username) && "admin123".equals(password)) {
// Set username as an attribute of session
session.setAttribute("username", username);
out.println("Welcome, " + username + "!");
// Redirect to a secured page or user profile page
// response.sendRedirect("userProfile.jsp");
} else {
out.println("Invalid username or password!");
// Optionally redirect back to login page or show error
// response.sendRedirect("login.jsp");
}
%>
예제 2: 세션 기반 로그아웃
이 예제는 사용자가 로그아웃 버튼을 클릭하면 세션을 종료시키는 기능을 구현합니다.
logout.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
// Invalidate the session and remove all attributes
session.invalidate();
out.println("You have been successfully logged out!");
// Optionally redirect to login page or home page
// response.sendRedirect("login.jsp");
%>
관련 전문용어 설명
- 세션(Session): 서버에 저장되는 사용자 정보로, 사용자가 브라우저를 닫거나 로그아웃할 때까지 유지됩니다. 사용자의 로그인 상태를 관리하는 데 사용됩니다.
- 세션 ID: 서버가 각 클라이언트(브라우저)를 구별하기 위해 생성하는 고유한 식별자입니다. 이는 쿠키에 저장되어 클라이언트와 서버 간 통신에 사용됩니다.
- invalidate(): 세션을 종료하고 세션에 저장된 모든 데이터를 제거하는 메소드입니다.
'jsp' 카테고리의 다른 글
관리자 페이지: 관리자용 페이지를 구현하고 접근 제어하는 예제. (0) | 2023.12.25 |
---|---|
데이터 그리드 표시: 데이터베이스에서 데이터를 조회하고 그리드 형태로 표시하는 예제. (0) | 2023.12.25 |
쿠키 기반 로그인: 쿠키를 활용한 간단한 로그인 시스템 구현 예제. (0) | 2023.12.25 |
Ajax 요청 처리: Ajax를 사용하여 비동기 요청을 처리하는 JSP 예제. (0) | 2023.12.25 |
파일 다운로드: 웹 페이지에서 파일을 다운로드하는 방법을 다루는 예제. (0) | 2023.12.25 |