-
Notifications
You must be signed in to change notification settings - Fork 0
hw1 helloMVC
๊ธฐ์กด ๋ก๊ทธ์ธ ์์์ ํ์๊ฐ์ ์์์ ์ถ๊ฐํ๊ณ , ์ฑ๊ณต์ ์ผ๋ก register ๋ฒํผ์ ๋๋ฌ ๊ฐ์ ์ ๋ง์น๋ฉด ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ์ ๋ณด๋ฅผ ํ์ธํ ์ ์๋๋ก ํ๋ค.
๊ฐ๋จํ ํ์๊ฐ์ form์ table์ ๋ด์ ๊น๋ํ๊ฒ ๋ง๋ ๋ค.
<!-- /hw1-helloMVC/WebContent/view/registerForm.jsp -->
<h1>Registration Form</h1>
<div class="ex">
<!--
action ์์ฑ์ submit์ form-data๋ฅผ ์ ์กํ ๊ณณ์ ์ง์ ํ๊ณ
์ ์ก ๋ฐฉ์์ post๋ก ์ง์ ํ์ฌ URL์ ์
๋ ฅ์ ๋ณด๊ฐ ๋ํ๋์ง ์๋๋ก ํ๊ณ header์ ์ ๋ณด๋ฅผ ๋ด์ ์ ์กํ๋ค.
-->
<form action="/hw1-helloMVC/doRegister" method="post">
<table>
<tr>
<th colspan="2">Enter Information Here</th>
</tr>
<tr>
<td class="category">์์ด๋</td>
<td class="user-info"><input type="text" name="id" /></td>
</tr>
<tr>
<td class="category">๋น๋ฐ๋ฒํธ</td>
<td class="user-info"><input type="password" name="password" /></td>
</tr>
<tr>
<td class="category">์ด๋ฆ</td>
<td class="user-info"><input type="text" name="name" /></td>
</tr>
<tr>
<td class="category">์ฑ๋ณ</td>
<td class="user-info">
<!-- ์ฑ๋ณ์ ์ ํํ์ง ์๋๋ผ๋ ์๋ฌ๊ฐ ๋์ง ์๋๋ก default ๊ฐ์ผ๋ก none์ ์ง์ -->
<input type="hidden" name="gender" value="none" />
<input type="radio" name="gender" value="male" /> ๋จ์
<input type="radio" name="gender" value="female" /> ์ฌ์
</td>
</tr>
<tr>
<td class="category">์ด๋ฉ์ผ</td>
<td class="user-info"><input type="email" name="email" /></td>
</tr>
<tr>
<td class="category"></td>
<td class="user-info"><input type="submit" value="register" /></td>
</tr>
</table>
</form>
</div>
</body>
registerForm.jsp
์์ ์ ์กํ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ Customer
๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ registerSuccess.jsp
๋ก ๋์ด๊ฐ๋ค.
/* /hw1-helloMVC/src/controller/DoRegister.java */
@WebServlet("/doRegister")
public class DoRegister extends HttpServlet {
...
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
/* form์์์ name ์์ฑ ๊ฐ๊ณผ ๋์ผํ ๊ฐ์ ์ฃผ์ด ์ ์ก๋ ๊ฐ์ ์ ์ฅํ๋ค. */
String id = request.getParameter("id");
String password = request.getParameter("password");
String name = request.getParameter("name");
String gender = request.getParameter("gender");
String email = request.getParameter("email");
/*
* ๊ฐ์
ํ ๊ณ ๊ฐ์ ์ ๋ณด๋ฅผ parameter๋ก ๋ฐ์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ ,
* addCustomer ๋ฉ์๋๋ฅผ ํตํด ์๋น์ค์ ๊ณ ๊ฐ์ ์ถ๊ฐํ๋ค.
*/
CustomerService service = (CustomerService) CustomerService.getInstance();
Customer customer = new Customer(id, password, name, gender, email);
service.addCustomer(customer);
String page;
/* ํ์ ์
๋ ฅ ๊ฐ๋ค์ด ์ฑ์์ ธ์์ง ์๋ค๋ฉด ๋ค์ ๊ฐ์ ์ฑ์ฐ๋๋ก ์ ๋ */
if (id.isBlank() || password.isBlank() || name.isBlank()) {
page = "/view/registerFail.jsp";
System.out.println("Please fill in the blanks");
}
else {
page = "/view/registerSuccess.jsp";
service.addCustomer(customer);
request.setAttribute("customer", customer);
}
RequestDispatcher dispatcher = request.getRequestDispatcher(page);
dispatcher.forward(request, response);
}
}
์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ์ ๋ณด๋ฅผ ํ์ธํ ์ ์๋ ํ์ด์ง๋ฅผ ๋ง๋ ๋ค.
<!-- /hw1-helloMVC/WebContent/view/registerSuccess.jsp -->
<h1>You registered successfully.</h1>
<ul>
<li>Id: ${customer.id}
<li>Password: ${customer.password}
<li>Gender: ${customer.gender}
<li>Name: ${customer.name}
<li>Email: ${customer.email}
</ul>
<p>
<a href="/hw1-helloMVC/index.jsp"> go to home page </a>
</p>
๊ณผ์ ์ ์๊ตฌ์ฌํญ์๋ ์์์ผ๋, ํ์ ์ ๋ ฅ๊ฐ๋ค์ด ์ ๋ ฅ๋์ด์ผ ๊ฐ์ ์ด ์ฑ๊ณต์ ์ผ๋ก ์งํ๋๋๋ก ๋ง๋ค์ด์ผ ํ๋ค๊ณ ์๊ฐํ์ฌ ID, ๋น๋ฐ๋ฒํธ, ์ด๋ฆ์ด ์ ๋ ฅ๋์ง ์์ ๊ฒฝ์ฐ์๋ ๊ฐ์ ์คํจ ํ์ด์ง๋ก ์ด๋ํ์ฌ ๋ค์ ๊ฐ์ ํ์ด์ง๋ก ๋์๊ฐ ๊ฐ์ ์ฑ์ฐ๋๋ก ์ ๋ํ์๋ค.
<!-- /hw1-helloMVC/WebContent/view/registerFail.jsp -->
<h1>Failed to join</h1>
You have to fill in at least ID, Password and Name..
<p>
<a href="/hw1-helloMVC/view/registerForm.jsp"> try again </a><br>
<a href="/hw1-helloMVC/index.jsp"> go to home page </a>
</p>
- ๋ฉ์ธ ํ์ด์ง
- ๋ก๊ทธ์ธ ํ์ด์ง
- ์ฑ๊ณต์ ์ผ๋ก ๋ก๊ทธ์ธ ํ์ ๊ฒฝ์ฐ
- ๋ก๊ทธ์ธ ์คํจํ์ ๊ฒฝ์ฐ
๊ฐ์
์์ ์ค ํ์ ๊ฐ์ ์ฑ์ฐ์ง ์์๋ค๋ฉด ์ ์ถํ๊ธฐ ์ ์ ์ฌ์ฉ์๊ฐ ์ฑ์ธ ์ ์๋๋ก ๋ํ๋ด๋ ๋ฐฉํฅ์ผ๋ก ๊ฐ์ ํ๋ ๊ฒ์ด ์ข์๋ณด์ธ๋ค.
๋ํ ๋์ผํ UI๋ก ๋ง๋ค๋ผ๊ณ ๋ช
์๋์ด ์์ด ๋ฃ์ง๋ ๋ชปํ์์ผ๋ ID ์ค๋ณต ํ์ธ ๊ธฐ๋ฅ๋ ์ถ๊ฐํ๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค.