HomeWork 1 Servlet 웹 애플리케이션 - Jiyun1014/helloMVC GitHub Wiki
과목명 : 웹 프레임워크 [C]
교수명 : 김남윤 교수님
이름 : 강지윤
학번 : 1771005
학부 : IT공과대학
Servlet과 JSP를 이용한 웹 애프리케이션 제작
이번 과제에서는 본래 주어진 프로젝트 파일에서 DoRegister.java , registerSuccess.jsp, registerForm.jsp 세 파일을 추가시키고, CustomerSercive.java 파일을 수정해서 과제를 해결했다.
- registerForm.jsp 코드 발췌 및 주석
<form action="/hw1-helloMVC/doRegister" method="post">
Controller인 Servlet으로 사용자의 입력을 보내기위해서, action태그를 이용했다. 또한, 비밀번호와 같은 정보가 들어가기 때문에, 암호화가 가능한 post form method를 선택했다.
-
CustomerService.java 코드 발췌 및 주석
public Customer register(String id, String password, String name, String gender, String email) {
addCustomer(new Customer(id, password, name, gender, email));
Customer customer = findCustomer(id);
System.out.println("register success");
return customer;
}
다음 함수를 추가하여, 이후 DoRegister.java 파일에서 위 함수를 이용해, Customer의 필들를 생성할 수 있게 했다. register에 성공시, 성공했다는 문장을 출력하고 customer객체를 반환한다. -
DoRegister.java 코드 발췌 및 주석
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");
getParameter를 이용해, 입력된 폼데이터를 받았다.CustomerService service = (CustomerService) CustomerService.getInstance(); Customer customer = service.register(id, password, name, gender, email); String page;` `page="/view/registerSuccess.jsp"; `request.setAttribute("customer",customer); RequestDispatcher dispatcher = request.getRequestDispatcher(page); dispatcher.forward(request, response);
getInstanc()를 이용해 주소값을 가져오고, 이를 이용해 폼데이터를 java코드에 전달했다. 이 결과를 request.setAttribute()를 이용해 beans에 담아 jsp에 전달했다.
- registerSuccess.jsp 코드 발췌 및 주석
<ul>
<li>Id : ${customer.id}</li>
<li>Password : ${customer.password}</li>
<li>Gender : ${customer.name}</li>
<li>Name : ${customer.gender}</li>
<li>E-mail : ${customer.email}</li>
</ul>
jsp Expression Language를 이용해, 받아온 customer의 value 값들을 조회했다. ${name.bar}을 이용해 javaBeans 내의 데이터를 표현했다.