본문 바로가기
Develop/Spring

[Spring] Spring MVC 란 무엇인가

by 코딩의성지 2019. 9. 14.

요즘 회사에서 OPEN API 개발 업무를 하고 있는데 RESTFul 서비스를 Spring Framewok를 통해 개발 중 이다.

 

다른 곳은 몰라도 아직 우리나라에서는 Spring 을 정말 많이 쓴다. 읽으시는 분들도 언제 이걸 쓸 줄 모르니 틈틈이 공부해 두셨으면 한다.

 

오늘은  Spring MVC가 무엇인지 간단하게 얘기해보려고 한다.

 

이해를 돕기 위해 열심히 그림을 그렸다.

<Spring MVC 구조>

 

과정을 간단하게 설명하자면,

 

① 클라이언트가 DispatcherServlet에 요청을 한다.

② 그러면 DispatcherServlet 가 HandlerMapping에게 그 요청을 보내고,

③ HandlerMapping는 그 일을 해줄 Controller를 찾는다.

④ 그러고나서 HandlerMapping은 DispatcherServlet에게 그 Controller를 알려주고,

⑤ DispatcherServlet은 HandlerAdapter에게  찾은 Controller에 어떤 메서드를 쓸건지 HandlerAdapter에게 물어본다.

⑥ HandlerAdapter 는 Controller 에 있는 메소드를 찾고,

⑦ Controller는 그 메서드를 수행한다. 이때 Service, DAO 등의 객체를 이용해 DB작업을 보통한다.

⑧ 찾은 메서드로 작업을 하고나면 결과를 HandlerAdapter에게 보내주는데, 이때 보통 ModelAndView라는 놈을 이용해서 데이터(Model) 와 View 이름을 리턴해준다.

⑨ HandlerAdapter는 그 값을 DispatcherServlet에게 리턴해준다.

⑩ DispatcherServlet이 이제 View이름을 아니깐 ViewResolver에게 그 이름을 통해 View를 찾아라고 시킨다.

⑪ 그러면 ViewResolver은 View 를 찾고 , 그 View에서는 만들어진 데이터(Model) 값으로 화면의 내용을 구성해서 클라이언트에게 보여준다.

 

쉽게 설명하려고 했는데 11단계나 된다. 그래도 읽어보면 무슨 말인 지 알거다. 그래도 모르겠으면 댓글 남겨주라~~

그럼 오늘 열심히 코딩하자 !!

 

 

반응형

댓글