。゚(*´□`)゚。

코딩의 즐거움과 도전, 그리고 일상의 소소한 순간들이 어우러진 블로그

강의/JSP 게시판 만들기

[JSP 게시판 만들기] 7. 접속한 회원 세션 관리하기

quarrrter 2023. 12. 8. 16:07

 

세션: 현재 접속한 회원에 할당하는 고유 ID

로그인한 유저에게 세션 ID를 부여하는 것으로 부터 세션 관리 시작이라 할 수 있음. 

 

로그인 성공했을 때 세션ID 부여하는 코드 추가

session.setAttribute("userID", user.getUserID());

 

로그아웃 시엔 회수

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>jsp 게시판 웹 사이트</title>
</head>
<body>
	<%	
		session.invalidate(); // 이 페이지에 접속한 회원의 세션 뺏
	%>
</body>
</html>

 

 

회원가입 후에도 세션을 부여하기 때문에 이미 로그인한 유저는 회원가입 & 로그인에 접근 막기

		String userID = null;
		if(session.getAttribute("userID") != null) {
		userID = (String) session.getAttribute("userID");
		}
		if (userID != null) {
			PrintWriter script = response.getWriter();
			script.println("<script>");
			script.println("alert('이미 로그인 되어있습니다.');");
			script.println("location.href='main.jsp'");
			script.println("</script>");
		}

 

 

main.jsp

<%@ page import="java.io.PrintWriter" %> 
<!--클라이언트 브라우저에 메시지를 출력하거나 JavaScript 코드를 동적으로 생성하여 클라이언트 측에서 실행되도록 할 때-->
<% //로그인이 된 사람들은 정보를 담을 수 있게 
		String userID = null;
		if(session.getAttribute("userID") != null) {
			userID = (String) session.getAttribute("userID");
		}
	%>

 

세션을 확인하여 로그인이 되어있을 때와 안 되어있을 때 출력화면을 다르게 함

		<%
			if(userID == null) {
		%>		
		<ul class="nav navbar-nav navbar-right">
			<li class="dropdown">
				<a href="#" class="dropdown-toggle"
					data-toggle="dropdown" role="button" aria-haspopup="ture"
					aria-expanded="false">접속하기<span class="caret"></span></a>
					<ul class="dropdown-menu">
						<li><a href="login.jsp">로그인</a></li>
						<li><a href="join.jsp">회원가입</a></li>
					</ul>
			</li>
		</ul>
			
		<% 
			} else {
		%>
		<ul class="nav navbar-nav navbar-right">
			<li class="dropdown">
				<a href="#" class="dropdown-toggle"
					data-toggle="dropdown" role="button" aria-haspopup="ture"
					aria-expanded="false">회원관리<span class="caret"></span></a>
					<ul class="dropdown-menu">
						<li><a href="logoutAction.jsp">로그아웃</a></li>
					</ul>
			</li>
		</ul>
		
		<%		
			}
		
		%>

 

 

= > 세션관리를 통해 전반적인 회원 정보관리, 페이지 구성 가능