>  기사  >  Java  >  Spring+SpringMVC+MyBatis 심층학습 및 구축-SpringMVC 아키텍처

Spring+SpringMVC+MyBatis 심층학습 및 구축-SpringMVC 아키텍처

巴扎黑
巴扎黑원래의
2017-06-26 09:54:331587검색

재인쇄할 소스를 표시하세요.

앞서 언급한 대로: Spring+SpringMVC+MyBatis 심층 학습 및 구성(10) - MyBatis 리버스 엔지니어링

1 SpringMVC

Spring 웹 MVC와 Struts2는 모두 프레젠테이션 레이어 프레임워크입니다. .Spring 프레임워크의 모듈입니다. SpringMVC와 Spring은 중간 통합 레이어를 통해 통합될 필요가 없습니다.

SpringMVC는 mvc 기반의 웹 프레임워크입니다.

2. b/s 시스템 하에서 mvc 적용

(1) 사용자가 컨트롤러(Controller)에 요청 요청을 시작합니다.

  컨트롤은 사용자가 요청한 데이터를 수신하여 이를 관리자에게 맡깁니다. 처리를 위한 모델입니다.

(2) 컨트롤러는 모델(Model)을 통해 데이터를 처리하고 처리 결과를 얻습니다

  모델은 일반적으로 비즈니스 로직을 의미합니다

(3) 모델 처리 결과는 컨트롤러로 반환됩니다

(4) 컨트롤러 Display in(View)

  웹의 모델은 뷰에 직접 데이터를 표시할 수 없으며 컨트롤러를 통해 표시해야 합니다. C/S 애플리케이션에서 모델을 사용하는 경우 해당 데이터를 뷰에 표시할 수 있습니다.

(5) 컨트롤러는 사용자에게 뷰로 응답합니다

  뷰를 통해 사용자가 원하는 데이터나 처리 결과를 보여줍니다.

3.SpringMVC 프레임워크

3.1 아키텍처 프로세스

(1) 사용자가 프런트 엔드 컨트롤러(DispatcherServlet)에 요청을 보냅니다.

(2) DispatcherServlet이 요청을 수신하고 HandlerMapping 프로세서 매퍼를 호출합니다

(3) 처리 프로세서 매퍼는 요청 URL에 따라 특정 프로세서(xml 구성 및 주석을 기반으로 찾을 수 있는 Handler)를 찾아 프로세서 객체와 프로세서 인터셉터(있는 경우)를 생성하여 DispatcherServlet에 반환합니다.

(4) DispatcherServlet은 HandlerAdapter 프로세서 어댑터를 통해 프로세서를 호출합니다.

(5) 실행 프로세서(컨트롤러, 백엔드 컨트롤러라고도 함)

(6) 컨트롤러는 실행 후 ModelAndView로 반환됩니다.

(7) HandlerAdapter는 컨트롤러를 실행 결과 ModelAndView는 DispatcherServlet으로 반환

(8) DispatcherServlet은 ModelAndView를 ViewResolver 뷰 파서로 전달

(9) ViewResolver는 구문 분석 후 특정 View를 반환

(10) DispatcherServlet은 View를 렌더링합니다(즉, 모델 데이터를 보기 중간)

(11) DispatcherServlet이 사용자에게 응답합니다.

3.2 구성 요소 설명

(1) 프런트 엔드 컨트롤러 DispatcherServlet(프로그래머 개발이 필요하지 않음)

기능: 요청 및 응답 결과를 수신하며 전달자 및 중앙 관리와 동일 처리 장치.

  DispatcherServlet을 사용하면 다른 구성 요소 간의 결합을 줄일 수 있습니다.

(2) 프로세서 매퍼 HandlerMapping (프로그래머 개발 불필요)

기능: 요청한 URL에 따라 핸들러 찾기

(3) 프로세서 어댑터 HandlerAdapter

기능: 특정 규칙에 따라 이동(HandlerAdapter에서 요구하는 규칙) Handler 실행

(4) 프로세서 핸들러(프로그래머 개발 필요)

참고: 핸들러를 작성할 때 HandlerAdapter의 요구 사항을 따르십시오. 어댑터에 주의해야 핸들러가 올바르게 실행될 수 있습니다.

(5) View Resolver Viewresolver (프로그래머 개발이 필요하지 않음)

  기능 : 논리적 뷰 이름을 기준으로 파싱을 수행하고 이를 실제 뷰(View)로 파싱하는 사람

(6) View View (프로그래머가 필요) jsp 개발)

  View는 인터페이스이며 구현 클래스는 다양한 View 유형(jsp, freemarker, pdf...)을 지원합니다

위 내용은 Spring+SpringMVC+MyBatis 심층학습 및 구축-SpringMVC 아키텍처의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.