JinSeong 2021. 10. 12. 18:37

login.jsp์˜ ์ฝ”๋“œ๋‚ด์šฉ

<%@page import="org.apache.catalina.Session"%>
<%@page import="com.study.common.util.CookieUtils"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%
	request.setCharacterEncoding("UTF-8");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<%@include file="/WEB-INF/inc/header.jsp"%>
<title>Insert title here</title>
</head>
<body>
<!-- 
	์กฐ๊ฑด ์ข…๋ฅ˜
	msg๋ผ๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ, AUTH์ฟ ํ‚ค ์กด์žฌ์—ฌ๋ถ€
 -->
<%@include file="/WEB-INF/inc/top.jsp"%>

	<%
		String msg = request.getParameter("msg");
		CookieUtils cookieUtils = new CookieUtils(request);
		Cookie cookie = cookieUtils.getCookie("AUTH");
		Cookie saveCookie = cookieUtils.getCookie("SAVE_ID");
		String checked="";
		String id="";
		if(saveCookie != null){
			checked="checked='checked'";
			id=saveCookie.getValue();
		}
		
		
/* 		if(cookie == null){ */
		if(session.getAttribute("USER_INFO") == null){
	%>
	<%=msg %>
	<div class="container">
		<form action="loginCheck.jsp" class="loginForm">
			<h2>๋กœ๊ทธ์ธ</h2>
			<table class="table table-bordered">
				<tbody>
					<tr>
						<th>์•„์ด๋””</th>
						<td><input type="text" name="userId"
							class="form-control input-sm" value="<%=id%>"></td>
					</tr>
					<tr>
						<th>๋น„๋ฐ€๋ฒˆํ˜ธ</th>
						<td><input type="password" name="userPass"
							class="form-control input-sm"></td>
					</tr>
					<tr>
						<td colspan="2"><label><input type="checkbox"
								name="rememberMe" value="Y" <%=checked %> >ID ๊ธฐ์–ตํ•˜๊ธฐ</label></td>
					</tr>
					<tr>
						<td colspan="2">
							<button type="submit" class="btn btn-primary btn-sm pull-right">๋กœ๊ทธ์ธ</button>
						</td>
					</tr>
				</tbody>
			</table>
		</form>
	</div>
	
	<%
	}else{//์ฟ ํ‚ค์žˆ๋Š” ๊ฒฝ์šฐ
	%>
	
	<!-- container -->
		๋กœ๊ทธ์ธ ์ค‘
	<a href="logout.jsp" class="btn btn-success btn-sm">๋กœ๊ทธ์•„์›ƒ</a>
	<%
		}
	%>

</body>
</html>

 

loginCheck.jsp์˜ ์ฝ”๋“œ๋‚ด์šฉ

<%@page import="java.util.Map"%>
<%@page import="com.study.common.util.CookieUtils"%>
<%@page import="java.net.URLEncoder"%>
<%@page import="com.study.login.vo.UserVO"%>
<%@page import="com.study.common.util.UserList"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
	request.setCharacterEncoding("UTF-8");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<%@include file="/WEB-INF/inc/header.jsp" %>
<title></title>
</head>
<body>

<%
	String id = request.getParameter("userId"); //login์—์„œ ๋ฐ›์•„์˜จ ์ž…๋ ฅ๊ฐ’
	String pw = request.getParameter("userPass"); //login์—์„œ ๋ฐ›์•„์˜จ ์ž…๋ ฅ๊ฐ’
	String rememberMe = request.getParameter("rememberMe");
	String redirectPage = "";
	
	if(id == null || id.isEmpty() || pw == null || pw.isEmpty()){
		//๋ญ”๊ฐ€ ์ž…๋ ฅ ์•ˆํ–ˆ์„ ๋•Œ
		redirectPage = "login.jsp?msg=" + URLEncoder.encode("id ๋˜๋Š” pw๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.", "UTF-8");
	}
	
	//id๋ฅผ ๋ชป ์ฐพ์„ ๋•Œ
	UserList userList = new UserList();
	UserVO user = userList.getUser(id); //์—†์œผ๋ฉด null ์žˆ์œผ๋ฉด ํ•ด๋‹น userVO๋ฅผ ๋ฆฌํ„ด
	
	if(user==null){ //user๊ฐ€ ์—†์„ ๋•Œ, id๊ฐ€ ํ‹€๋ ธ์„ ๋•Œ
		if(redirectPage.length()<2){
			redirectPage = "login.jsp?msg=" + URLEncoder.encode("id๋˜๋Š” pw ํ™•์ธํ•ด์ฃผ์„ธ์š”.", "UTF-8");		
		}
	}else{ //id๋Š” ๋งž์•˜๋‹ค.
		if(pw.equals(user.getUserPass())){
			//pw๊นŒ์ง€ ๋งž์Œ
/* 			Cookie cookie = CookieUtils.createCookie("AUTH", id);
			response.addCookie(cookie); */
			redirectPage="login.jsp";
			session.setAttribute("USER_INFO", user);
			
			//๋กœ๊ทธ์ธ ์„ฑ๊ณต + id๊ธฐ์–ตํ•˜๊ธฐ ์ฒดํฌ ๋˜์–ด์žˆ๋Š” ๊ฒฝ์šฐ
			if(rememberMe != null){
				if(rememberMe.equals("Y")){
					Cookie cookie2 = CookieUtils.createCookie("SAVE_ID", id, 60*60*24*7);
					response.addCookie(cookie2);
				}else{//์ฒดํฌ์•ˆ๋œ๊ฒฝ์šฐ
					Cookie cookie2 = CookieUtils.createCookie("SAVE_ID", id, 0);
					response.addCookie(cookie2);
				}
			}
			
		}else{//id๋Š” ๋งž์•˜์ง€๋งŒ pw๋Š” ํ‹€๋ฆผ
			if(redirectPage.length()<2){
				redirectPage = "login.jsp?msg=" + URLEncoder.encode("id๋˜๋Š” pw ํ™•์ธํ•ด์ฃผ์„ธ์š”.", "UTF-8");		
			}
		}
	}
	response.sendRedirect(redirectPage);
%>



	
	
</body>
</html>

logout.jsp์˜ ์ฝ”๋“œ๋‚ด์šฉ

<%@page import="com.study.common.util.CookieUtils"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
	request.setCharacterEncoding("UTF-8");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<%@include file="/WEB-INF/inc/header.jsp" %>
<title>Insert title here</title>
</head>
<body>
<%@include file="/WEB-INF/inc/top.jsp" %> 
<%
/* 	Cookie cookie = CookieUtils.createCookie("AUTH", "", 0);
	response.addCookie(cookie); */
	session.removeAttribute("USER_INFO");
	response.sendRedirect("login.jsp");
	
%>

</body>
</html>