모든 요청은 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.
결국 파란색 부분은 개발자가 매번 반복해서 해 줘야 하는 작업을 스프링이 대신 해 주는 것이다.
스프링이 해 줄 수 없는 보라색 부분을 개발자가 직접 작성해줘야 한다!
'컴퓨터공학 > 스프링' 카테고리의 다른 글
에러 페이지 만들기 (1) | 2023.12.27 |
---|---|
Spring Project 생성하고 환경설정까지! (0) | 2023.12.11 |
DB 접속정보 git에 공유되지 않도록 설정하기 (0) | 2023.12.10 |
[Slf4j] 스프링의 디버깅 도구 Slf4j Library (1) | 2023.12.10 |
[log4j.xml] 스프링의 디버깅 로그 자세히 띄우기 (1) | 2023.12.10 |