## 76. CRUD 기능을 한 개의 페이지 컨트롤러로 합치기
- CRUD 관련 메서드를 한 개의 클래스로 합치는 방법
- 요청 별로 메서드를 구분하여 호출하는 방법
=>
ㄴ BoardAddController -> BoardController 로 이름 변경하기
=>
BoardController.java
ㄴ @RequestMapping 애노테이션에 ("/board/add") 추가하기
=>
RequestMapping.java
ㄴ 해당 코드 추가
=>
BoardDeleteController.java
ㄴ @Controller 애노테이션 옆에 있는 ("/board/delete") 를 잘라내서 @RequestMapping 애노테이션 옆에 붙여넣기
=>
BoardDeleteController.java
ㄴ 해당 코드 복사하기
=>
BoardController.java
ㄴ 복사한 코드 붙여넣기
=>
BoardController.java
=>
BoardController.java
ㄴ 메서드 이름이 겹치므로 기능별로 이름을 설정해주도록 함
=>
ㄴ BoardController 에 BoardDeleteController 코드 추가했으므로 BoardDeleteController.java 파일 삭제
=>
BoardDetailController.java
ㄴ @Controller 애노테이션 옆에 있는 ("/board/detail") 를 잘라내서 @RequestMapping 애노테이션 옆에 붙여넣기
=>
BoardDetailController.java
ㄴ 해당 코드 복사하기
=>
BoardController.java
ㄴ 복사한 코드 붙여넣기
=>
BoardController.java
ㄴ 메서드 이름은 기능별로 설정해주도록 함
=>
ㄴ BoardController 에 BoardDetailController 코드 추가했으므로 BoardDetailController.java 파일 삭제
=>
BoardListController.java
ㄴ @Controller 애노테이션 옆에 있는 ("/board/list") 를 잘라내서 @RequestMapping 애노테이션 옆에 붙여넣기
=>
BoardListController.java
ㄴ 해당 코드 복사하기
=>
BoardController.java
ㄴ 복사한 코드 붙여넣기
=>
BoardController.java
ㄴ 메서드 이름은 기능별로 설정해주도록 함
=>
ㄴ BoardController 에 BoardListController 코드 추가했으므로 BoardListController.java 파일 삭제
=>
BoardUpdateController.java
ㄴ @Controller 애노테이션 옆에 있는 ("/board/update") 를 잘라내서 @RequestMapping 애노테이션 옆에 붙여넣기
=>
BoardUpdateController.java
ㄴ 해당 코드 복사하기
=>
BoardController.java
ㄴ 복사한 코드 붙여넣기
=>
BoardController.java
ㄴ 메서드 이름은 기능별로 설정해주도록 함
=>
ㄴ BoardController 에 BoardUpdateController 코드 추가했으므로 BoardUpdateController.java 파일 삭제
=>
BoardFileDeleteController.java
ㄴ @Controller 애노테이션 옆에 있는 ("/board/fileDelete") 를 잘라내서 @RequestMapping 애노테이션 옆에 붙여넣기
=>
BoardFileDeleteController.java
ㄴ 해당 코드 복사하기
=>
BoardController.java
ㄴ 복사한 코드 붙여넣기
=>
BoardController.java
ㄴ 메서드 이름은 기능별로 설정해주도록 함
=>
ㄴ BoardController 에 BoardFileDeleteController 코드 추가했으므로 BoardFileDeleteController.java 파일 삭제
=>
ㄴ LoginController -> AuthController 로 이름 변경
=>
AuthController.java
ㄴ @Controller 애노테이션 옆에 있는 ("/auth/login") 를 잘라내서 @RequestMapping 애노테이션 옆에 붙여넣기
=>
BoardController.java
ㄴ 메서드 이름은 기능별로 설정해주도록 함
=>
LogoutController.java
ㄴ @Controller 애노테이션 옆에 있는 ("/auth/logout") 를 잘라내서 @RequestMapping 애노테이션 옆에 붙여넣기
=>
LogoutController.java
ㄴ 해당 코드 복사하기
=>
BoardController.java
ㄴ 복사한 코드 붙여넣기
=>
BoardController.java
ㄴ 메서드 이름은 기능별로 설정해주도록 함
=>
ㄴ AuthController 에 LogoutController 코드 추가했으므로 LogoutController.java 파일 삭제
=>
ㄴ MemberAddController -> MemberController 로 이름 변경
=>
MemberAddController.java
ㄴ @Controller 애노테이션 옆에 있는 ("/member/add") 를 잘라내서 @RequestMapping 애노테이션 옆에 붙여넣기
=>
MemberController.java
ㄴ 메서드 이름은 기능별로 설정해주도록 함
=>
MemberDeleteController.java
ㄴ @Controller 애노테이션 옆에 있는 ("/member/delete") 를 잘라내서 @RequestMapping 애노테이션 옆에 붙여넣기
=>
MemberDeleteController.java
ㄴ 해당 코드 복사하기
=>
MemberController.java
ㄴ 복사한 코드 붙여넣기
=>
MemberController.java
ㄴ 메서드 이름은 기능별로 설정해주도록 함
=>
ㄴ MemberController 에 MemberDeleteController 코드 추가했으므로 MemberDeleteController.java 파일 삭제
=>
MemberDetailController.java
ㄴ @Controller 애노테이션 옆에 있는 ("/member/detail") 를 잘라내서 @RequestMapping 애노테이션 옆에 붙여넣기
=>
MemberDeleteController.java
ㄴ 해당 코드 복사하기
=>
MemberController.java
ㄴ 복사한 코드 붙여넣기
=>
MemberController.java
ㄴ 메서드 이름은 기능별로 설정해주도록 함
=>
ㄴ MemberController 에 MemberDetailController 코드 추가했으므로 MemberDetailController.java 파일 삭제
=>
MemberListController.java
ㄴ @Controller 애노테이션 옆에 있는 ("/member/list") 를 잘라내서 @RequestMapping 애노테이션 옆에 붙여넣기
=>
MemberDeleteController.java
ㄴ 해당 코드 복사하기
=>
MemberController.java
ㄴ 복사한 코드 붙여넣기
=>
MemberController.java
ㄴ 메서드 이름은 기능별로 설정해주도록 함
=>
ㄴ MemberController 에 MemberListController 코드 추가했으므로 MemberListController.java 파일 삭제
=>
MemberUpdateController.java
ㄴ @Controller 애노테이션 옆에 있는 ("/member/update") 를 잘라내서 @RequestMapping 애노테이션 옆에 붙여넣기
=>
MemberDeleteController.java
ㄴ 해당 코드 복사하기
=>
MemberController.java
ㄴ 복사한 코드 붙여넣기
=>
MemberController.java
ㄴ 메서드 이름은 기능별로 설정해주도록 함
=>
ㄴ MemberController 에 MemberDetailController 코드 추가했으므로 MemberDetailController.java 파일 삭제
DispatcherServlet.java
ㄴ 해당 코드 추가
=>
DispatcherServlet.java
ㄴ RequestHandlerMapping 메서드 추가한 후 생성자 추가
=>
DispatcherServlet.java
ㄴ bean 이라는 이름의 객체를 이용하도록 하기
=>
DispatcherServlet.java
=>
DispatcherServlet.java
ㄴ Create method 'registerRequestHandler' in 'DispatcherServlet 선택
=>
DispatcherServlet.java
=>
DispatcherServlet.java
=>
DispatcherServlet.java
=>
DispatcherServlet.java
ㄴ bean 객체의 클래스에서 선언된 모든 메서드를 가져와서 각 메서드에 대해 @RequestMapping 어노테이션을 확인하도록 함
ㄴ @RequestMapping 어노테이션이 존재하는 경우, 해당 어노테이션에서 정의한 URL 경로(value()로 정의)를 획득함
ㄴ 이 URL 경로를 handlerMap에 등록
ㄴ 이 때, RequestHandlerMapping 객체를 생성하여 컨트롤러 객체(bean)와 메서드(m)를 함께 저장하도록 함
=>
DispatcherServlet.java
ㄴ 해당 출력 코드는 init() 메서드가 아닌 registerRequestHandler 메서드로 이동시킴
=>
DispatcherServlet.java
ㄴ 등록한 URL 경로와 그에 대응하는 메서드 이름을 출력하도록 출력 코드 추가
=>
App 실행
=>
=>
=>
=>
=>
DispatcherServlet.java
=>
DispatcherServlet.java
ㄴ 해당 코드 제거
=>
DispatcherServlet.java
ㄴ 해당 코드 제거
=>
DispatcherServlet.java
ㄴ requestHandler -> requestHandlerMapping 으로 변경
=>
App 재실행
=>
=>
=>
HomeController.java
=>
HomeController.java
=>
App 재실행
=>
=>
=>
ㄴ 로그인 정보 입력 후 [로그인] 선택
=>
ㄴ 로그인 정상적으로 실행됨을 확인
=>
ㄴ 회원 목록 정상적으로 출력됨을 확인
ㄴ 새 회원 선택
=>
ㄴ 회원 정보 입력 후 [등록] 선택
=>
ㄴ 새 회원이 정상적으로 등록됨을 확인
=>
ㄴ 회원 정보 변경 후 [변경] 선택
=>
ㄴ 회원 정보가 정상적으로 변경됨을 확인
=>
ㄴ 회원 삭제 선택
=>
ㄴ 29번 회원이 정상적으로 삭제됨을 확인
DispatcherServlet.java
ㄴ 필요 없는 변수 삭제하고 직접 넣어주기