JavaEE 아키텍처에는 위에서 아래로 애플리케이션 계층, 웹 계층, 비즈니스 계층, 지속성 계층의 4개 계층이 포함되어 있습니다. Struts와 SpringMVC는 웹 계층의 프레임워크이고, Spring은 비즈니스 계층의 프레임워크이며, Hibernate와 MyBatis는 지속성 계층의 프레임워크입니다.
SpringMVC를 사용하는 이유는 무엇인가요?
많은 애플리케이션의 문제는 비즈니스 데이터를 처리하는 개체와 비즈니스 데이터를 표시하는 뷰 사이에 긴밀한 결합이 있다는 것입니다. 일반적으로 비즈니스 개체를 업데이트하는 명령은 뷰 자체에서 시작되어 뷰를 만듭니다. 비즈니스 객체 변경 사항을 매우 민감하게 인식합니다. 또한 여러 보기가 동일한 비즈니스 개체에 의존하는 경우 유연성이 없습니다.
SpringMVC는 웹 MVC 디자인 패턴을 구현하고 요청 기반인 Java 기반의 경량 웹 프레임워크로, MVC 아키텍처 패턴 아이디어를 사용하여 웹 계층의 책임을 분리합니다. 요청 기반이란 요청-응답 모델을 사용하는 것을 의미합니다. 프레임워크의 목적은 개발을 단순화하는 것입니다. SpringMVC는 또한 일상적인 웹 개발을 단순화하는 것을 목표로 합니다.
MVC 디자인 패턴
MVC 디자인 패턴의 임무는 비즈니스 데이터가 포함된 모듈을 모듈을 표시하는 뷰에서 분리하는 것입니다. 어떻게 이런 일이 일어났나요? 모델과 뷰 사이에 리디렉션 레이어를 도입하면 문제를 해결할 수 있습니다. 이 리디렉션 계층은 요청을 수신하고 모델 업데이트 작업을 수행한 다음 모델 변경에 대해 뷰에 알리는 컨트롤러입니다.
특정 프로세스:
(1) 먼저 사용자가 요청을 보냅니다——>DispatcherServlet 요청을 받은 후 프런트엔드 컨트롤러는 이를 처리하지 않고 다른 파서에게 위임하여 처리합니다. 통합 액세스 포인트.
(2) DispatcherServlet -> HandlerMapping, 프로세서 매퍼는 요청을 HandlerExecutionChain 객체(Handler 프로세서 객체, 다중 HandlerInterceptor 인터셉터 포함) 객체에 매핑합니다.
(3) DispatcherServlet —>HandlerAdapter, 프로세서 어댑터는 여러 유형의 프로세서를 지원하기 위해 프로세서를 어댑터로 패키징합니다. 즉, 어댑터 설계 패턴을 적용하여 다양한 유형의 프로세서를 쉽게 지원할 수 있습니다.
(4 ) HandlerAdapter —> 프로세서의 해당 함수 처리 방법을 호출하고 ModelAndView 객체(모델 데이터 및 논리적 뷰 이름 포함)를 반환합니다.
(5) ModelAndView 객체(Model 부분은 비즈니스 객체가 반환한 모델 데이터이며, 뷰 부분은 논리적 뷰 이름입니다.) --> ViewResolver, 뷰 확인자는 논리적 뷰 이름을 특정 뷰로 구문 분석합니다.
(6) 뷰 --> 렌더링, 여기서는 들어오는 모델 모델 데이터를 기반으로 뷰가 렌더링됩니다. 모델은 실제로 Map 데이터 구조입니다.
(7)은 DispatcherServlet에 제어를 반환하고 DispatcherServlet은 사용자에게 응답을 반환합니다.
위 내용은 springmvc는 어떤 프레임워크인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!