본문 바로가기
컴퓨터공학/스프링

Spring의 처리 흐름

by 유리병 2023. 12. 11.

 

 

모든 요청은 Dispatcher Servlet으로 간다. 

요청이 들어오면 해당 요청이 어떤 Method와 맵핑되는지를 찾는 것을 Handler Mapping이 수행한다.

 

Handler Mapping이 메소드를 찾으면 해당 메소드를 Dispatcher Servlet으로 리턴한다.

Dispatcher Servlet은 해당 메소드 정보를 Handler Adapter로 보낸다. 

Handler Adapter는 해당 메소드가 있는 Controller를 실행한다.

 

여기까지는 개발자가 관여할 일이 없다.

개발자는 톰캣을 실행하기 전, Controller에 @Controller를 잘 붙혀주고 맵핑될 URL만 제대로 적어두면 나머지는 톰캣이 알아서 수행한다.

 

이후부터는 우리가 만든 비즈니스 로직을 실행한다.

비즈니스 로직으로 컨트롤러 -> 서비스 -> 모델 -> DB 이렇게 요청을 하고, 

컨트롤러에서 그 결과를 Model 혹은 Request객체에 담고 return으로 jsp에 보낸다. 

 

그 결과 view에서 el, jstl, jsp 등이 모두 실행된 후 그 결과를 클라이언트에 응답한다. 

이때 응담은 모두 문자열이다. html, css, javascript. 

 

 

결국 파란색 부분은 개발자가 매번 반복해서 해 줘야 하는 작업을 스프링이 대신 해 주는 것이다.

스프링이 해 줄 수 없는 보라색 부분을 개발자가 직접 작성해줘야 한다!