🌱Java | Spring

[Spring] Spring MVC

이줭 2022. 6. 30. 20:48
728x90

MVC 패턴이란 무엇일까? 🤔 MVC 패턴이랑 소프트웨어 디자인 패턴 중 하나로 Model, View, Controller 세 가지 요소로 이루어진 패턴이다.

- Model : 애플리케이션의 정보나 데이터, DB 등

- View : 사용자에게 보여지는 화면

- Controller : View와 Model이 직접적인 상호 소통을 하지 않도록 관리, 데이터와 비즈니스 로직 사이의 상호 동작을 관리

 

MVC1

출처 : https://chanhuiseok.github.io/posts/spring-3/

MVC1의 경우 View와 Controller를 모두 JSP에서 담당하여, JSP 하나로 유저의 요청을 받고 응답을 처리한다. JSP 하나로 MVC가 모두 이루어지니 재사용성도 떨어지고, 읽기도 힘들어진다. 유지보수에 있어 문제가 발생한다.

 

MVC2

출처 : https://chanhuiseok.github.io/posts/spring-3/

MVC2의 경우 MVC1과 다르게 Controller와 View가 분리되어 있다. 따라서 MVC1의 단점을 보완할 수 있고, 수정할 부분이 있으면 해당 부분만 수정하면 되기 때문에 유지보수에 있어 이점이 있다.

Spring의 MVC2

출처 : https://chanhuiseok.github.io/posts/spring-3/

스프링에서는 DispatcherServlet이 핵심이다. DispatcherServlet이 우선적으로 유저의 모든 요청을 받고, 그 요청을 분석하여 세부 컨트롤러들에게 필요한 작업을 나눠준다.

 

자세한 동작을 이미지를 참고하면 되고, 스프링은 MVC2 패턴을 준수하고 있다는 것을 알 수 있다.

 

참고 : https://chanhuiseok.github.io/posts/spring-3/

728x90

'🌱Java | Spring' 카테고리의 다른 글

[Java] Java의 메모리 관리(2)  (0) 2022.07.31
[Java] Java의 메모리 관리(1)  (0) 2022.07.24
[Spring] Filter vs Interceptor  (0) 2022.07.18
[Java] 추상클래스 vs 인터페이스  (0) 2022.06.14
[Java] String?  (0) 2022.06.01