본문 바로가기

JSP, Servlet/JSP, Servlet 기초

[JSP/Servlet] 세션을 이용하여 로그인 폼 만들기

로그인 됐을 때, 사용자의 세션이 유지되어아 정보를 계속 가져갈 수 있다.

 

<09_loginForm.jsp>

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<form method="POST" action="09_testLogin.jsp" name="loginForm">
		<table>
			<tr>
				<td>아이디</td>
				<td><input type="text" id="id" name="userId"></td>
			</tr>
			<tr>
				<td>비밀번호</td>
				<td><input type="password" id="pwd" name="userPwd"></td>
			</tr>
			<tr>
				<td><input type="submit" value="로그인"></td>
				<td><input type="reset" value="취소"></td>
			</tr>
		</table>
	</form>
</body>
</html>

로그인 창 입니다.

 

<09_testLogin.jsp>

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<%@ page import="java.net.URLEncoder"%>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%
		request.setCharacterEncoding("UTF-8"); // 입력받은 데이터 한글 처리
	String name = "이순신";
	String userId = request.getParameter("userId");
	String userPwd = request.getParameter("userPwd");
	if (userId.equals("abcd") && userPwd.equals("1234")) {
		session.setAttribute("loginUser", "이순신");
		response.sendRedirect("09_main.jsp?name" + URLEncoder.encode(name, "UTF-8"));
	} else {
		response.sendRedirect("09_loginForm.jsp");
	}
	%>
</body>
</html>

로그인 처리해주는 페이지 입니다.

 

<09_main.jsp>

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%=(String) session.getAttribute("loginUser")%>님 안녕하세요
	<br> 저희 홈페이지에 방문해주셔서 감사합니다. 즐거운 시간 되세요.
	<form method="get" action="09_logout.jsp">
		<input type="submit" value="로그아웃">
	</form>


</body>
</html>

로그인이 성공했을 때 접속하는 메인페이지입니다.

 

<09_logout.jsp>

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
	<%
		session.invalidate();
	%>
	<script type="text/javascript">
		$(document).ready(function() {
			alert("로그아웃 되었습니다.");
			location.href = "09_loginForm.jsp"
		});
	</script>
</body>
</html>

세션을 지우고 로그아웃하는 페이지입니다.

 

728x90
반응형