Skip to content

hw1 helloMVC

JeongHyeon Lee edited this page Sep 27, 2020 · 4 revisions

hw1-helloMVC Report

๊ธฐ์กด ๋กœ๊ทธ์ธ ์–‘์‹์— ํšŒ์›๊ฐ€์ž… ์–‘์‹์„ ์ถ”๊ฐ€ํ•˜๊ณ , ์„ฑ๊ณต์ ์œผ๋กœ register ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ๊ฐ€์ž…์„ ๋งˆ์น˜๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ์ •๋ณด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.

1. ํšŒ์›๊ฐ€์ž… ์–‘์‹ ๋งŒ๋“ค๊ธฐ

๊ฐ„๋‹จํ•œ ํšŒ์›๊ฐ€์ž… 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">
		        <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>

๊ฒฐ๊ณผ๋ฌผ

registration form

2. ๊ฐ€์ž… ์ •๋ณด๋ฅผ ํ™•์ธํ•˜๋Š” ํŽ˜์ด์ง€ ๋งŒ๋“ค๊ธฐ

2-1. Create DoRegister.java

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;
	page ="/view/registerSuccess.jsp";
		
	request.setAttribute("customer", customer);
		
	RequestDispatcher dispatcher = request.getRequestDispatcher(page);
	dispatcher.forward(request, response);
    }
}

2-2. Create registerSuccess.jsp

์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ์ •๋ณด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ ๋‹ค.

<!-- /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>

๊ฒฐ๊ณผ๋ฌผ

register-success

3. ๋‚˜๋จธ์ง€ ์‹คํ–‰ํ™”๋ฉด

  • ๋ฉ”์ธ ํŽ˜์ด์ง€
    index-page
  • ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€
    login-form
  • ์„ฑ๊ณต์ ์œผ๋กœ ๋กœ๊ทธ์ธ ํ–ˆ์„ ๊ฒฝ์šฐ
    login-success
  • ๋กœ๊ทธ์ธ ์‹คํŒจํ–ˆ์„ ๊ฒฝ์šฐ
login-failed
Clone this wiki locally