티스토리 뷰
Spring01 >
- 실행은 server로 ! jsp 실행 X
project 우클릭 Run as 또는 서버 Restart
- INFO: Initializing Spring root WebApplicationContext
= 시작점
INFO: org.springframework.web.context.ContextLoader
= 시작 할 때 얼마나 걸렸는지
INFO: Initializing Spring DispatcherServlet 'appServlet'
= dispatcherServlet 불러오기 !
=> 이 순서는 정해져있다.
WebContext -> DispatcherServlet
INFO : com.mokcoding.ex01.HomeController
= 실제 Controller 위치. 알아서 만들어줌
저 위치가보면 logger.info() 에 로그를 알아서 찍어줌
- 이전에 했던 모델(MVC)을 이해해야 스프링 구조를 이해할 수 있음
View는 jsp로 , Model은 java로 , view와 model을 연결하는 Controller는 servlet으로 구현 했다.
다이아그램도 그렸음
2024.04.16 - [4월] - 2024.04.16 _ jsp Servlet 을 이용한 MVC 댓글 기능 , MVC 구조 그림으로 나타내기
이 모델은 로직을 분리해서 유지보수가 편함.
다만 servlet class를 개발자가 각각 만들어야한다.
그래서 코드가 길다..
그래서 스프링에서는 이런 긴 코드들을 숨겨놨음 !
또한
jsp servlet 은 데이터 송수신을 HttpServletRequest, HttpServletResponse를 이용했는데
스프링 MVC 에서는 servlet jsp를 스프링 내부에서 처리해서 개발자가 직접적으로 servlet api( HttpServletRequest, HttpServletResponse )를 컨트롤 하는 상황을 최대한 줄여준다.
스프링 MVC 구조
Client(jsp ..) 에서 요청(request)이 오면 Front Controller 에서 가로챔
그리고 요청을 위임한다(Delegate request)
우리가 작성하는건 Controller 밖에 없음!
- web.xml 에다가 filter 넣어야함
- root - context 는 DB와 관련된 것
스프링 MVC Flow Diagram
- 요청이 오면 Dispatcher Servlet 에서 Mapping( Handler Mapping ) 을 시킴
Controller 로 보냄
다시 Handler Adapter 로 돌아와서 Controller 로 보냄
view name 은 jsp 불러오는 이름임