JSP Servlet 기초(7) 쿠키를 이용한 로그인
- JSP
- 2018. 1. 29. 17:08
이번엔 쿠키를 이용한 간단한 로그인을 구현 해보겠습니다.
먼저 이클립스에 login.html, loginGo.jsp, logout.jsp, home.jsp
파일을 만들어줍니다.
처음 login.html 에서 body 부분을 보면
1 2 3 4 5 | <form action="loginGo.jsp" method="post"> 아이디 : <input type="text" name="id" size="10"><br /> 비밀번호 : <input type="password" name="pw" size="10"><br /> <input type="submit" value="로그인"> </form> | cs |
위와 같이 간단하게 form 태그를 이용해 아이디 비밀번호 를 입력할수 있게
만들어주고 action 위치는 loginGo.jsp 로 해준다.
다음 loginGo,jsp 에서의 body 부분은
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <body> <%! String id, pw; %> <% id = request.getParameter("id"); pw = request.getParameter("pw"); if(id.equals("abcde") && pw.equals("12345")) { Cookie cookie = new Cookie("id", id); cookie.setMaxAge(60); response.addCookie(cookie); response.sendRedirect("home.jsp"); } else { response.sendRedirect("login.html"); } %> </body> | cs |
위와같이 입력한다
login.html 에서 입력한 아이디와 비밀번호를 request.getParameter 를이용해
요청하고
if문으로 아이디와 비밀번호를 각각 abcde, 12345 로 입력했을때
라는 조건을 걸어쿠키 생성을 해준다 이때
쿠키의 name 은"id" value은 id 로해준다 -> .new Cookie("id", id);
이때 쿠키의 이름은 id 이지만 그안에 들어가진 value 값은 abcde 가들어간것이다
만들어진 쿠키를 response 에 탑재 시켜주고 sendRedirect 로 home.jsp 로 보내진다
이때 아이디와 비밀번호가 맞지 않으면 else 문을 타게 되어 다시 login.html로 이동된다
home.jsp 는
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <body> <% Cookie[] cookies = request.getCookies(); for(int i=0; i<cookies.length; i++) { String id = cookies[i].getValue(); if(id.equals("abcde")) out.println(id + "님 안녕하세요." + "<br />"); } %> <a href="logout.jsp">로그아웃</a> </body> | cs |
위와 같이 입력한다.
loginGo.jsp 에서 response 에탑재 시킨 쿠키를 request.getCokkies 로 요청하고
for 문을 돌려 String id 에 getValue 로 가져온 value 값을 저장한다.
이렇게되면 String id 에서 id 에 저장된 값은 abcde 가된다.
마지막으로 if 문으로 String id 에서 id 에 저장된 값이 abcde 라면
out.println 를 이용하여 id값과 원하는 텍스트를 출력시켜준다.
logout.jsp 는
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <body> <% Cookie[] cookies = request.getCookies(); if(cookies != null) { for(int i=0; i<cookies.length; i++) { if(cookies[i].getValue().equals("abcde")){ cookies[i].setMaxAge(0); response.addCookie(cookies[i]); } } } response.sendRedirect("login.html"); %> </body> | cs |
위와같이 쿠키의 유지시간을 0으로 설정후 다시 response 에 탑재시켜 login.html로
sendRedirect 한다. 조건문에 cookies != null 는 쿠키의 값이 null 값이
아니라면을 의미한다 즉 쿠키안에 데이터가 있으면 으로 해석된다.
login.html을 실행시켜 아이디와 비밀번호에 abcde, 12345를 각각 입력시키면
위와같은 화면을 볼수있다. 로그아웃을 누르면 쿠키는 삭제되고
처음 login.html화면으로 돌아가게된다.
'JSP' 카테고리의 다른 글
JSP Servlet 기초(9) 세션을 이용한 로그인 (2) | 2018.01.29 |
---|---|
JSP Servlet 기초(8) 세션 (1) | 2018.01.29 |
JSP Servlet 기초(6) 쿠키생성 (2) | 2018.01.29 |
JSP Servlet 기초(5) response (0) | 2018.01.29 |
JSP Servlet 기초(4) request + tag (2) | 2018.01.29 |