[MVC2 게시판] 2. 로그인

2016. 11. 25. 16:52Programming/JSP

<배운 것>

1) MVC 모델2 구현 방식

2) <c:choose> 활용

3) 로그인/로그아웃 처리법


<header view>


<header.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
<div id="logo">
    <img src="./img/logo.PNG">
    </div>
 
    <div id="loginForm">
    <h2 style="color: red">${param.msg}</h2>
    <c:choose>
    <c:when test="${sessionScope.login ne 1}">
    <form action="memLogin.do" method="post">
        <p>
            <label for="uId">I D : </label>
            <input type="text" name="id" value="">
        </p>
        <p>
            <label for="uPwd">pwd :</label>
            <input type="password" id="uPwd" name="pwd" size="20" value="">
        </p>
        <input type ="submit" value="로그인">
    </form>
    <p><a href="memAddForm.do">회원가입</a></p>
    </c:when>
    <c:when test="${sessionScope.login eq 1}">
    <p>${sessionScope.id}님 환영합니다!</p>
    <p><a href="memLogout.do">로그아웃</a>
    </c:when>
    </c:choose>
    </div>
    
    <div id="header">
        <ul class="menu_bar">
            <li><a href="boardList.do">게시판 리스트</a></li>
            <li><a href="memList.do">회원 관리</a></li>
            <li><a href="memList.do">빈 페이지</a></li>
        </ul>
    </div>
cs


<c:when test="${sessionScope.login ne 1}">

ID 중복검사 결과 로그인 실패시


<c:when test="${sessionScope.login eq 1}">

로그인 성공시



<header 안 CSS>

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
<style type="text/css">    
        #logo{
        width: 10rem;
        height: 6rem;
        }
        
        #header>ul.menu_bar>li {
        background: white;
        display: inline-block;
        width: 30%; /* 전체 넓이의 3할 차지 */
        text-align: center;
        margin-top: 12rem;
        padding-top: 1rem;
        padding-bottom: 1rem;
        font-size: 2rem;
        border: 5px solid black;
        }
        
        #header>ul.menu_bar>li:HOVER{
        background: pink;
        }
        
        #loginForm{
        background: white;
        padding-left: 10px;
        padding-bottom: 10px;
        border: 5px solid black;
        width: 30%;
        position:absolute;
           top:5rem;
           right:3rem;
        }
    </style>
cs



<MemberLoginController>

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
@WebServlet("/memLogin.do")
public class MemberLoginController extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
 throws ServletException, IOException {
        int login = 0;
        HttpSession session = request.getSession();
        String context=request.getContextPath();
        response.setContentType("text/html; charset=UTF-8");
        MemberDao dao = new MemberDao();
        Member mem = new Member();
        mem.setId(request.getParameter("id"));
        mem.setPwd(request.getParameter("pwd"));
        login = dao.login(mem);
        System.out.println(login);
        if(login>0){
            System.out.println("로그인 성공");
            session.setAttribute("login",1);
            session.setAttribute("id", mem.getId());
            session.setAttribute("name", mem.getName());
            response.sendRedirect(context+"/memList.do");    
        }else{
            System.out.println("로그인 실패");
            session.setAttribute("login",0);
            response.sendRedirect(context+"/memList.do?msg=login failed");
        }
    }
}
cs



<MemberDao.selectId() : ID 중복 검사>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public boolean selectId(String id) {
        String sql = "SELECT * FROM MEMBER WHERE id=?";
        boolean idFlag = false;
        try{
            conn = DBManager.getConnection();
            pstmt = conn.prepareStatement(sql);
            pstmt.setString(1, id);
            rs = pstmt.executeQuery();
            if(rs.next()){
                idFlag = true;
            }
        }catch(SQLException e){e.printStackTrace();
        }
        return idFlag;
    }
cs



<MemberLogoutController>

1
2
3
4
5
6
7
8
@WebServlet("/memLogout.do")
public class MemberLogoutController extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
 throws ServletException, IOException {
        HttpSession session = request.getSession();
        session.invalidate();
        response.sendRedirect("memList.do");
    }
}
cs




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

[MVC2 게시판] 4. 페이징(Paging)  (0) 2016.11.28
[MVC2 게시판] 3. 회원관리  (0) 2016.11.25
[MVC2 게시판] 1. 개요  (0) 2016.11.21
JSTL 태그 part2  (0) 2016.11.09
MVC 모델  (0) 2016.11.07