1. Template

1) WebContent - view - template - sidebar.jsp 에 회원가입 링크 추가

6
<p><a href="${pageContext.request.contextPath}/DispatcherServlet?command=registerPage">회원가입</a></p>

 

2. View

1) WebContent - view -  member - register.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
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<div class="card">
    <div class="registerClient">
        <h3>회원가입</h3>
        <form method="post" action="DispatcherServlet">
            <input type="hidden" name="command" value="register">
            <table>
                <tr>
                    <td>아이디</td><td><input type="text" name="clientId"></td>
                </tr>
                <tr>
                    <td>패스워드</td><td><input type="password" name="clientPassword"></td>
                </tr>
                <tr>
                    <td>이름</td><td><input type="text" name="clientName"></td>
                </tr>
                <tr>
                    <td>이메일</td><td><input type="email" name="clientEmail"></td>
                </tr>
                <tr>
                    <td>휴대폰</td><td><input type="tel" name="clientPhone"></td>
                </tr>
                <tr>
                    <td>주소</td><td><input type="text" name="clientAddress"></td>
                </tr>
                <tr>
                    <td colspan="2" ><input type="submit" value="등록"></td>
                </tr>
            </table>
        </form>
    </div>
</div>

2) WebContent - view -  member - register_result.jsp

1
2
3
4
5
6
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<script>
  alert("등록이 완료되었습니다.");
  location.href="http://localhost:8080/webstudy-board/";       
</script>

 

3. Model

1) src - mdoel.ClientDAO에 register 메소드 추가

31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
//1. 회원등록
public void register(ClientDTO clientDTO) throws SQLException{
    Connection con=null;
    PreparedStatement pstmt=null;
    try {
        con=getConnection();
        String sql="insert into client(clientId, clientPassword, clientName, clientEmail, clientPhone, clientAddress) values(?,?,?,?,?,?)";
        pstmt=con.prepareStatement(sql);
        pstmt.setString(1,clientDTO.getClientId());
        pstmt.setString(2,clientDTO.getClientPassword());
        pstmt.setString(3,clientDTO.getClientName());
        pstmt.setString(4,clientDTO.getClientEmail());
        pstmt.setString(5,clientDTO.getClientPhone());               
        pstmt.setString(6,clientDTO.getClientAddress());
        pstmt.execute();
    }finally {
        closeAll(pstmt,con);
    }
}

2) src - test.TestRegister.java (register 메소드를 테스트)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package test;
 
import java.sql.SQLException;
 
import model.ClientDAO;
import model.ClientDTO;
 
public class TestRegister {
    public static void main(String[] args) {
        ClientDTO newClient=new ClientDTO("test", "test1234", "테스트", "test@test.com", "010-0000-0000", "서울시 종로구");
        try {
            ClientDAO.getInstance().register(newClient);
            System.out.println("추가완료");
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

 

4. Controller

1) src - controller.HandlerMapping.java에 registerPage와 register command 추가

15
16
17
18
else if(command.equals("registerPage")) //회원가입 페이지 이동
    c=new RegisterPageController();
else if(command.equals("register")) //회원가입 처리
    c=new RegisterController();

2) src - controller.RegisterPageController.java 추가

1
2
3
4
5
6
7
8
9
10
11
12
package controller;
 
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
public class RegisterPageController implements Controller {
    @Override
    public String execute(HttpServletRequest request, HttpServletResponse response) throws Exception {
        request.setAttribute("url", "/view/member/register.jsp");
        return "/view/template/home.jsp";
    }
}

3) src - controller.ResgisterController.java 추가

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package controller;
  
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
  
import model.ClientDAO;
import model.ClientDTO;
  
public class RegisterController implements Controller {
    @Override
    public String execute(HttpServletRequest request, HttpServletResponse response) throws Exception {
        String clientId=request.getParameter("clientId");
        String clientPassword=request.getParameter("clientPassword");
        String clientName=request.getParameter("clientName");
        String clientEmail=request.getParameter("clientEmail");
        String clientPhone=request.getParameter("clientPhone");
        String clientAddress=request.getParameter("clientAddress");
        ClientDAO.getInstance().register(new ClientDTO(clientId, clientPassword, clientName, clientEmail, clientPhone, clientAddress));
        return "redirect:view/member/register_result.jsp";
    }
}

 

5.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
table {
  border-collapse: collapse;
  width: 100%;
}
  
th, td {
  text-align: left;
  padding: 8px;
}
  
 tr:nth-child(even) {background-color: #f2f2f2;}
 input[type=submit] {
  width: 20%;
  background-color: #4CAF50;
  color: white;
  padding: 14px 20px;
  margin: 8px 0;
  border: none;
  border-radius: 4px;
  cursor: pointer;
    
}
  
 input[type=submit]:hover {
  background-color: #45a049;
}

+ Recent posts