과제1 보고서 - gptjd0204/hw1-helloMVC GitHub Wiki

과제 1. 회원가입(Register) 기능 추가하기

IT응용시스템공학과 1694049 최혜성

회원가입 기능을 추가하기 위해서 registerForm.jsp, registerSuccess.jsp, DoRegister.java 파일을 만들어주었다.

1. registerForm.jsp

registerForm 에서는 웹에서 표시되는 회원가입 형식을 만들었다. <table><input>을 사용해서 다음과 같은 형식을 만들어주었다.

<body>
	<h1>Registration Form</h1>
	<div class="ex">
		<b>Enter Information Here</b>
		<form action="/hw1-helloMVC/doRegister" method="post">
			<table cellpadding="5">
				<tr>
					<td>아이디</td>
					<td><input type="text" name="id" /></td>
				</tr>
				<tr>
					<td>비밀번호</td>
					<td><input type="password" name="password" /></td>
				</tr>
				<tr>
					<td>이름</td>
					<td><input type="text" name="name" /></td>
				</tr>
				<tr>
					<td>성별</td>
					<td>
						<input type="radio" name="gender" value="man" checked="checked" />남자
						<input type="radio" name="gender" value="woman" />여자
					</td>
				</tr>
				<tr>
					<td>이메일</td>
					<td><input type="text" name="email" /></td>
				</tr>
				<tr>
					<td></td>
					<td><input type="submit" value="register" /></td>
				</tr>
			</table>
		</form>
	</div>
</body>

아이디, 비밀번호, 이름, 성별, 이메일을 입력하고 register버튼을 누르면 DoRegister로 넘어가게된다.

2. DoRegister.java

registerForm에서 받아온 회원정보들을 CustomerService에 추가한다.

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		request.setCharacterEncoding("UTF-8");	//registerForm에서 이름에 한글 입력시 웹페이지에서 깨지는 오류 해결
		
		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");
		
		CustomerService service = (CustomerService) CustomerService.getInstance();
		Customer customer = new Customer(id, password, name, gender, email);
		
		String page = null;
		
		if(customer != null) {
			service.addCustomer(customer);
			page ="/view/registerSuccess.jsp";
			request.setAttribute("customer", customer);
		}
			
		RequestDispatcher dispatcher = request.getRequestDispatcher(page);
		dispatcher.forward(request, response);
	}

회원정보를 추가하고나면 registerSuccess페이지를 불러온다.

과제를 하면서 계속 문제가 되는 점이 하나 있었는데 registerForm에서 한글을 입력하고 가입을 하면 한글이 깨져서 나오는 오류였다. 이를 해결하기 위해 나는 다음과 같은 코드를 사용하여 문제를 해결하였다.

request.setCharacterEncoding("UTF-8");	//registerForm에서 이름에 한글 입력시 웹페이지에서 깨지는 오류 해결

3. registerSuccess.jsp

회원가입이 완료되면 registerForm에서 입력한 정보들을 표기한다.

<body>
	<h1>You registered successfully.</h1>

	<ul>
		<li>Id: ${customer.id}</li>
		<li>Password: ${customer.password}</li>
		<li>Name: ${customer.name}</li>
		<li>Gender: ${customer.gender}</li>
		<li>Email: ${customer.email}</li>
	</ul>
	
	<p> <a href="/hw1-helloMVC/index.jsp"> go to home page </a> </p>
</body>
⚠️ **GitHub.com Fallback** ⚠️