해당 과제는 기존의 애플리케이션을 업데이트하는 과제입니다.

https://github.com/codingspecialist/mvcapp

1. 인증 MVC 만들기

  1. views/user/loginForm.jsp, joinForm.jsp 를 만드시오.

Untitled

Untitled

  1. model/User.java 모델을 만드시오
int id;
String username;
String password;
String email;
  1. model/UserRepository.java 만드시오.
public User login(String username, String password){
    return DB.login(username, password);
}

public void join(String username, String password, String email){
    DB.join(username, password, email);
}
  1. DispatcherServlet에 아래의 요구사항에 맞는 switch문을 만들고 적절한 Controller를 요청하시오.
1. POST 요청 -> <http://localhost:8080/user/login.do>
x-www-form-urlencoded
username=ssar&password=1234

2. POST 요청 -> <http://localhost:8080/user/join.do>
x-www-form-urlencoded
username=ssar&password=1234&[email protected]

3. GET 요청 -> <http://localhost:8080/user/joinForm.do>
4. GET 요청 -> <http://localhost:8080/user/loginForm.do>

참고

login은 SELECT 쿼리를 요청하는 로직이다. 그래서 GET을 사용해야 한다고 생각할 수 있다.
하지만, login을 할때는 password 값이 서버로 전달되어야 하기 떄문에 QueryString으로
전달하는 것은 위험하다. 그래서 body로 데이터를 전달하기 위해 POST로 전달한다.
login만 유일하게 select이지만 POST요청을 해야한다.

login 쿼리
SELECT * FROM user WHERE username = ? AND password = ?
  1. controller/UserController.java 만드시오.