본문 바로가기
네이버클라우드/JAVA 웹 프로그래밍

JAVA 73일차 (2023-09-05) 자바 프로그래밍_75. 애노테이션으로 request handler 표시하기_개인프로젝트 - 마트 관리 시스템

by prometedor 2023. 9. 5.
## 75. 애노테이션으로 request handler 표시하기

- PageController 인터페이스를 사용하는 대신에 애노테이션으로 호출될 메서드를 표시하는 방법

 

MemberListController.java

ㄴ @Overide 애노테이션 대신 @Request 애노테이션으로 변경

=>

=>

ㄴ RequestMapping 이라는 이름의 애노테이션 파일 생성하기

=>
RequestMapping.java

ㄴ 애노테이션 정보가 런타임 시에도 유지되도록 @Retention(RetentionPolicy.RUNTIME) 애노테이션 추가하기

 

 

MemberListController.java

ㄴ @RequestMapping 애노테이션 추가하기

=>

MemberListController.java

ㄴ 이제 PageController 를 구현할 필요가 없으므로 해당 코드 제거

 

 

DispatcherServlet.java

ㄴ PageController 타입 대신 Object 타입으로 설정하기

=>

DispatcherServlet.java

ㄴ request handler 를 찾는 메서드 getRequestHandler 를 추가하도록 함

=>

DispatcherServlet.java

ㄴ pageController 객체에서 @RequestMapping 어노테이션이 부여된 메서드를 찾아서 해당 메서드를 반환하는 메소드

    ㄴ Java Reflection을 사용하여 클래스의 메서드를 조사하고 @RequestMapping 어노테이션이 부여된 메서드를 찾아냄

=>

DispatcherServlet.java

ㄴ 요청을 처리할 핸들러가 없을 경우 해당 에러 메시지 출력하도록 설정하기

=>
DispatcherServlet.java

ㄴ pageController.execute 대신 requestHandler.invoke 이용하고, 파라미터 값으로 pageController 넘겨주기

=>

ㄴ PageController.java 파일 삭제

 

 

BoardAddController.java

ㄴ 이제 PageController 를 구현할 필요 없으므로 해당 코드 제거

=>
BoardAddController.java

ㄴ @Override 애노테이션 대신 @RequestMapping 애노테이션 이용하도록 함



BoardDeleteController.java

ㄴ 이제 PageController 를 구현할 필요 없으므로 해당 코드 제거

=>
BoardDeleteController.java

ㄴ @Override 애노테이션 대신 @RequestMapping 애노테이션 이용하도록 함

 

 

BoardDetailController.java

ㄴ 이제 PageController 를 구현할 필요 없으므로 해당 코드 제거

=>
BoardDetailController.java

ㄴ @Override 애노테이션 대신 @RequestMapping 애노테이션 이용하도록 함

 

 

BoardFileDeleteController.java

ㄴ 이제 PageController 를 구현할 필요 없으므로 해당 코드 제거

=>
BoardFileDeleteController.java

ㄴ @Override 애노테이션 대신 @RequestMapping 애노테이션 이용하도록 함

 

 

BoardListController.java

ㄴ 이제 PageController 를 구현할 필요 없으므로 해당 코드 제거

=>

BoardListController.java

ㄴ @Override 애노테이션 대신 @RequestMapping 애노테이션 이용하도록 함

 

 

BoardUpdateController.java

ㄴ 이제 PageController 를 구현할 필요 없으므로 해당 코드 제거

=>

BoardUpdateController.java

ㄴ @Override 애노테이션 대신 @RequestMapping 애노테이션 이용하도록 함

 

 

HomeController.java

ㄴ 이제 PageController 를 구현할 필요 없으므로 해당 코드 제거

=>

HomeController.java

ㄴ @Override 애노테이션 대신 @RequestMapping 애노테이션 이용하도록 함

 

 

LoginController.java

ㄴ 이제 PageController 를 구현할 필요 없으므로 해당 코드 제거

=>
LoginController.java

ㄴ @Override 애노테이션 대신 @RequestMapping 애노테이션 이용하도록 함

 

 

LogoutController.java

ㄴ 이제 PageController 를 구현할 필요 없으므로 해당 코드 제거

=>
LogoutController.java

ㄴ @Override 애노테이션 대신 @RequestMapping 애노테이션 이용하도록 함

 

 

MemberAddController.java

ㄴ 이제 PageController 를 구현할 필요 없으므로 해당 코드 제거

=>
MemberAddController.java

ㄴ @Override 애노테이션 대신 @RequestMapping 애노테이션 이용하도록 함

 

 

MemberDeleteController.java

ㄴ 이제 PageController 를 구현할 필요 없으므로 해당 코드 제거

=>
MemberDeleteController.java

ㄴ @Override 애노테이션 대신 @RequestMapping 애노테이션 이용하도록 함

 

 

MemberDetailController.java

ㄴ 이제 PageController 를 구현할 필요 없으므로 해당 코드 제거

=>
MemberDetailController.java

ㄴ @Override 애노테이션 대신 @RequestMapping 애노테이션 이용하도록 함

 

 

MemberUpdateController.java

ㄴ 이제 PageController 를 구현할 필요 없으므로 해당 코드 제거

=>
MemberUpdateController.java

ㄴ @Override 애노테이션 대신 @RequestMapping 애노테이션 이용하도록 함

=>

ㄴ App 실행

=>

=>

ㄴ 로그인 정보 입력 후 [로그인] 선택

=>

ㄴ 로그인이 정상적으로 처리됨을 확인

=>

ㄴ 게시글 목록이 정상적으로 출력됨을 확인

=>

ㄴ 게시글 내용 입력 후 [등록] 선택

=>

ㄴ 게시글이 정상적으로 등록됨을 확인

=>

ㄴ 게시글 상세보기 정상적으로 출력됨

=>

ㄴ 내용 변경 후 [변경] 선택

=>

ㄴ 게시글 정상적으로 변경됨을 확인

ㄴ 첨부파일 [삭제] 선택

=>

ㄴ 첨부파일이 정상적으로 삭제됨을 확인

ㄴ 게시글 [삭제] 선택

=>

ㄴ 39번 게시글이 정상적으로 삭제됨을 확인

=>