L06 세션으로 값 전달(2/2) ~로그인/로그아웃

2016. 10. 27. 17:26Programming/JSP

<로그인 과정 설명>


1) 로그인 판정: 제출한 파라미터와 DB에서 가져온 id/pw를 /loginCtrl 서블릿에서 비교


a) 맞으면

login에 1을 준 후, '로그인 성공' 화면으로 이동

session.setAttribute("login", 1);

response.sendRedirect("./login/L03LoginResult.jsp");


b) 틀리면->

login에 0을 준 후, 로그인 화면으로 이동

session.setAttribute("login", 0);

response.sendRedirect("./login/L01LoginForm.jsp");


2) 로그아웃 처리


a) 세션 만료 후 '로그아웃 성공' 메시지(msg)를 로그인 화면으로 전달

HttpSession session = request.getSession();
session.invalidate(); //세션 만료
response.sendRedirect("./login/L01LoginForm.jsp?msg=Logout Success");


b) msg를 받아서 출력

String msg = request.getParameter("msg");
if(msg !=null){%>
   <h3 style="color: red;"><%=msg%></h3>




<L01LoginForm.jsp>




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 *앞 부분은 생략*

<body>
<%Object login = session.getAttribute("login");
           String msg = request.getParameter("msg");
           
           //로그아웃 성공 메시지
           if(msg !=null){%>
                      <h3 style="color: red;"><%=msg%></h3>
           <%
           }
           
           //login 판정 후 비우기(다시 로그인하기 위해)
           if(login!=null){
                      //로그인 실패 메시지(Object -> int)
                      if((int)login ==0 ){%>
                      <h3>id 또는 pw 잘 못 입력했습니다.</h3>
           <%         
                      session.removeAttribute("login");
                      login = null;
                      }
           //login이 null로 유지되는 한 제출 가능
           }if(login==null){%>
           <form action="./../loginCtrl" method="post">
                      <p>
                                 <label>아이디:</label>
                                 <input type="text" name="id" value="jsp">
                      </p>
                      <p>
                                 <label>비밀번호:</label>
                                 <input type="text" name="pw" value="admin1234">
                      </p>
                      <button type="submit">제출</button>
           </form>
           <%}%>
</body>
 

cs


<L03LoginResult.jsp>


<L01LoginForm.jsp:로그아웃 버튼 누르면>


'Programming > JSP' 카테고리의 다른 글

L08 Bean으로 값(parameter) 전달  (0) 2016.10.27
L07 쿠키로 값 전달  (0) 2016.10.27
L06 세션으로 값 전달(1/2)  (0) 2016.10.27
L05 Template  (0) 2016.10.26
L04 Redirect(페이지 넘기기)  (0) 2016.10.26