JSP 로그인

2022. 12. 5. 22:39JSP

login.html

========

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>로그인창</title>
</head>
<body>
<h1>로그인 페이지 입니다.</h1>

<form action="loginOk.jsp" method="post">
아이디 : <input type="text" name="id" size="12" required="required" /><br/>
비밀번호 : <input type="password" name="pw" size="12" required="required"/><br/>

<input type="submit" value="로그인" />
<input type="reset" value="초기화" />
</form>
</body>
</html>

=========================================================================

 

loginOk.jsp

============

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>로그인 확인</title>
</head>
<body>
<%!
String id, pw;
%>
<%
id = request.getParameter("id");
pw = request.getParameter("pw");

//지금은 DB를 설정하지 않아서 아래와 같이 코드를 작성하였지만, 추후 DB연동하고 난 뒤에는
//아래와 같이 하는 코드를 쉽게 변경할 수 있다.
if(id.equals("abcde") && pw.equals("12345")) {
//쿠키의 이름은 id이고 값은 abcde가 될 것이다.
Cookie cookie = new Cookie("id", id);//탑재할 쿠키
cookie.setMaxAge(60); //유효기간 설정
//쿠키를 만들었다면 리스판스객체에다가 탑재를 해주면 될겁니다.
response.addCookie(cookie);
//로그인에 성공하면 sendRedirect()를 이용하여 welcome.jsp파일로 이동시키고 있다.
response.sendRedirect("login_success.jsp");
}
else{
//로그인에 실패하면 sendRedirect()를 이용하여 login_fail.jsp파일로 이동시키고 있다.
response.sendRedirect("login_fail.jsp");
}
%>
</body>
</html>

=========================================================================================

 

login_fail.jsp

===========

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>로그인 실패</title>
</head>
<body>
<!-- 자바스크립트의 alert함수를 이용하여 메시지 창을 띄우고 아울러 다시 login.html파일로
이동시키고 있다. -->
<script type="text/javascript">
alert('로그인 실패');
location.href="login.html";
</script>
</body>
</html>

===============================================================================

 

login_success.jsp

===============

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>로그인 성공</title>
</head>
<body>
<script type="text/javascript">
alert('로그인 성공');
</script>
<%
Cookie[] cookies = request.getCookies();
for(int i = 0 ; i < cookies.length ; i = i + 1) {
String id = cookies[i].getValue(); //실제 아이디 값을 얻는 코드이다.
if(id.equals("abcde")) {
out.println(id + "님 반갑습니다.");
}
}
%>
<h1>환영합니다.</h1>

<a href="logout.jsp">로그아웃</a>
</body>
</html>

==================================================================

 

logout.jsp

========

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>로그아웃</title>
</head>
<body>
<%
Cookie[] cookies = request.getCookies();

if(cookies != null) {
for(int i = 0 ; i < cookies.length ; i = i + 1) {
String id = cookies[i].getValue();

if(id.equals("abcde")) {
cookies[i].setMaxAge(0); //쿠키가 삭제된다.
//위에서쿠키가변경이되었으니깐
//다시 response객체에다가 쿠키를
//재탑재해야 되겠다.
response.addCookie(cookies[i]); //쿠키가 변경되었으니 다시 탑재
out.print(id + "님이 로그아웃 하셨습니다");
}
}
}
%>
<br/><br/>
<a href="cookieTest.jsp">쿠키 확인</a><!-- cookie가 날라갔는지 확인해야 -->
</body>
</html>

===================================================================

 

cookieTest.jsp

=============

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>쿠키 확인</title>
</head>
<body>
<h1>쿠키의 속성이 삭제된 것을 확인하는 cookieTest.jsp페이지 입니다.</h1>

<%
System.out.println("삭제된 쿠키의 값을 출력해봅니다.");
//쿠키의 유효시간이 0으로 설정한 쿠키가 리턴될 것이다.
Cookie[] cookies = request.getCookies();

//확인해보니 현재 남아있는 쿠키 이름 : JSESSIONID와 그 값이 나온다 --> 서버 생성
//위의 이름과 값은 그냥 무시하면 된다.(이부분은 항상 출력된다.서버에서 생성이 되었기 때문이다.)
if(cookies != null) {
for(int i = 0 ; i < cookies.length ; i = i + 1) {
out.println("현재 남아있는 쿠키 이름 : " + cookies[i].getName());
out.println("현재 남아있는 쿠키 값 : " + cookies[i].getValue());
}
}

//여기서 반드시 기억을 해야 할 것은, 쿠키를 생성하고 response객체에 탑재를 해주어야 한다.
//아울러 변경이 일어나면 반드시 response객체에 재탑재를 해주어야 한다. 그래야 그 이유는 그렇게 해줘야
//그래야 쿠키값이 일관성 있게 유지가 되는 것이다.
%>
</body>
</html>

=========================================================================================

 

 

 

'JSP' 카테고리의 다른 글

예외 테스트  (0) 2022.12.05
쿠키 만들기  (0) 2022.12.05
JSP 세션 로그인  (0) 2022.12.05
JSP 시험 점수 입력  (0) 2022.12.05
JSP 회원 가입창  (0) 2022.12.05