본문 바로가기

Java/[패스트캠퍼스] 50일 포트폴리오 챌린지

[12일차] 10개 프로젝트로 완성하는 백엔드 웹개발(Java/Spring)

수강 강의명

 

스프링 웹 MVC 프레임워크

프로세스 흐름

① 요청이 들어오게 되면
② Dispatcher Servlet : 해당 요청을 받아 Handler Mapping을 통해 적절한 Handler(Controller)를 선택한다.
③ Handler Adapter : 적절한 Adapter를 통해 Handler(Controller)를 실행한다.
④ Controller : 해당하는 ViewName을 반환한다.
⑤ Dispatcher Servlet : View Resolver(ViewName)를 통해 View객체를 반환 받는다.
⑥ View Render를 통해 응답 값을 반환한다.

17. Web MVC framework (spring.io)

 

17. Web MVC framework

@RequestMapping(method = RequestMethod.POST) public String processSubmit(@ModelAttribute("pet") Pet pet, Model model, BindingResult result) { … } Note, that there is a Model parameter in between Pet and BindingResult. To get this working you have to reor

docs.spring.io

 

애노테이션 기반 MVC 프레임워크 실습

DispatcherServlet
AnnotationHandlerMapping(Handler Mapping)
HandlerAdapter
ViewResolver
① Controller 인터페이스를 구현하는 새로운 Controller를 생성한다.
     tomcat 루트 디렉토리(webapps) 하위에 유저 목록 JSP 파일을 생성한다.
    유저 목록 JSP 파일로 이동될 때 유저 정보도 함께 전달한다.
② Controller를 실행하기 위해 해당 요청 경로를 Handler Mapping에 추가한다.
     Controller가 추가될 때마다 경로와 Controller를 추가한다.
     DispatcherServlet이 Handler Mapping를 통해 경로에 따라 적절한 Handler(Controller)를 찾아 화면에 표시한다.
     문제점 : 동일한 경로에 대한 GET 요청, POST 요청을 구분할 수 없다.
③ GET 요청과 POST 요청을 구분하기 위한 객체를 생성하여 이를 통해 Handler(Controller)를 선택하도록 한다.
     (요청 종류, 경로)를 인자로 받는 생성자를 생성한다.
     객체와의 비교를 위해 equals() and hashCode()를 생성한다.
     적절한 Handler(Controller)를 찾을 때 경로가 아닌 생성한 객체를 인자로 받도록 수정한다.
④ POST 요청 : 새로운 유저 정보를 추가하기 위한 Handler(Controller)를 생성한다.
    요청으로 받은 userId와 name을 통해 User를 생성한다.
⑤ 사용자 정보를 입력받는 화면으로 이동하는 Handler(Controller)를 생성한다.
    문제점 : redirect 경우와 forward 경우를 분리해야 한다.
⑥ RedirectView와 JspView를 구분하기 위한 View Resolver를 생성한다.
     View Resolver에게 viewName을 전달하면 적절한 View가 선택된다.

수강 화면수강 화면
수강 화면

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

https://bit.ly/43z0P6S

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

 

#패스트캠퍼스 #포트폴리오 #직장인자기계발 #환급챌린지 #포트폴리오챌린지 #패스트캠퍼스후기 #초격차패키지 #오공완