Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 넥사크로loadingimage
- 마진상쇄
- CSS
- 넥사크로
- WITH절
- loadingimage
- HTML
- decoratetext
- Grid
- 코딩
- aws
- DB #데이터베이스
- cron표현식
- Spring
- singleton container
- flex-basis
- flex-grow
- gif초기화
- 싱글톤컨테이너
- react
- 톰캣실행
- 빈
- frontend
- BEAN
- singleton
- setrealrowsize
- 로딩이미지변경
- 스프링 빈
- annotaion
- 싱글톤
Archives
- Today
- Total
All Day Tired
MVC/MVC2/springMVC 본문
하.. 이직을 했는데...
조졌다... 너무 나랑 안 맞는다... 그래서 다시 이직을 준비하렵니다...
이직은 신중하게... ^^
심지어 C# 하는 중인데 웹개발 다시 하려고 백투더 베이직... ㅋㅋㅋ큐ㅠㅠ
MVC란
MVC는 그냥 디자인 패턴 중 하나다. MVC 패턴이 유명한 이유는 그저 '이런 디자인 패턴을 따르면 유지보수가 쉽고 편리하다' 라는 이유때문이다.
MVC
- 가장 태초의 MVC 패턴
- 클라이언트가 호출하면 Controller가 비즈니스 로직을 처리
- Model은 데이터로 Controller에서 처리한 로직에서 나온 데이터를 Model로 전달하면 View는 이 Model을 참조하여 화면을 표시
MVC2
- MVC 패턴에서 발전한 형태
- 좀 더 세부적으로 나누어보자
- Controller는 오직 컨트롤러 로직만을 처리 -> 클라이언트 호출을 받아서 어느 service로 갈지 교통정리만 해주는 역할
- Service에서 비즈니스 로직 처리와 DB에 접근해 데이터 접근을 하는 백단의 핵심 역할을 함
- 이렇게 Service에서 만들어진 데이터가 Model로서 Controller가 참조하게 됨
- View에서는 화면을 만들어서 보여주게 됨
springMVC
- spring에서 사용하는 MVC 패턴
- DispatcherServlet은 HTTP 요청을 모두 받아서 핸들러 매핑에서 핸들러를 조회해 적합한 컨트롤러로 보내주는 Front Contorller이다.
- 핸들러 = Contorller
- 핸들러 매핑은 요청에 맞는 Contorller를 찾는 것이다. 스프링이 알아서 핸들러 매핑을 만들어놨기 때문에 우리는 신경쓰지 않아도 된다.
- RequestMappingHandleMapping : 애너테이션 @RequestMapping 컨트롤러(0순위)
- BeanNameUrlHandlerMapping : 스프링 빈의 이름의 핸들러(1순위)
- 등등 다양한 핸들러 매핑 존재
- 우선 순위에 따라서 핸들러(=Controller) 조회
- 핸들러 어댑터는 다양한 핸들러를 실행하기 위한 중간 어댑터라고 보면 된다.
- RequestMappingHandleAdapter : 애너테이션 @RequestMapping 컨트롤러(0순위)
- HttpRequestHandlerAdapter : HttpRequestHandler 처리(1순위)
- SimpleContollerHandlerAdapter : Controller 인터페이스 처리(2순위)
- 등등 다양한 핸들러 어댑터 존재
- 핸들러 어댑터의 supports를 통해서 Contorller 인터페이스가 맞는지 조회
- 핸들러 어탭터를 조회해서 이 핸들러 어탭터로 핸들러를 호출해 ModelAndView를 반환한다.
- ViewResolver를 통해 설정한 view prefix, suffix로 View를 반환한다.
- render를 통해 실제 화면을 클라이언트에게 응답한다.
'Back > Spring' 카테고리의 다른 글
PRG, Redirect, Forward (1) | 2025.05.21 |
---|---|
@Configuration(feat.싱글톤) (0) | 2025.01.02 |
싱글톤, 싱글톤 컨테이너 (2) | 2024.12.31 |
스프링컨테이너, 스프링빈 등록/주입 (0) | 2024.12.30 |
@Scheduler, cron표현식 사용 (0) | 2024.10.27 |
Comments