>  기사  >  Java  >  Spring MVC의 프로세스는 무엇입니까?

Spring MVC의 프로세스는 무엇입니까?

不言
不言원래의
2019-04-10 14:10:073621검색

Spring MVC의 프로세스는 무엇입니까?

SpringMVC 프레임워크는 요청 중심의 웹 프레임워크로 '프론트엔드 컨트롤러' 모델을 사용하여 설계한 후, 해당 작업에 따라 배포합니다. '요청 매핑 규칙' 페이지 컨트롤러가 이를 처리합니다.

Spring MVC의 프로세스는 무엇인가요?

전체 프로세스:

Spring MVC의 프로세스는 무엇입니까?

🎜🎜#1 먼저 사용자가 요청을 보냅니다.——>DispatcherServlet( 프런트엔드 컨트롤러), 프런트엔드 컨트롤러는 요청을 받은 후 처리하지 않지만, 전역 프로세스 제어를 위한 통합 액세스 포인트로서 처리를 위해 다른 파서에 위임합니다.

2, DispatcherServlet ——> HandlerMapping(프로세서 매퍼), HandlerMapping은 요청을 HandlerExecutionChain 개체(Handler 프로세서(페이지 컨트롤러) 개체, 여러 HandlerInterceptor 인터셉터 포함) 개체에 매핑합니다. 이 전략 패턴을 통해 새로운 매핑 전략을 추가하는 것이 쉽습니다.

3. DispatcherServlet——>HandlerAdapter(프로세서 어댑터). HandlerAdapter는 여러 유형의 프로세서, 즉 어댑터 설계 패턴을 지원하기 위해 프로세서를 어댑터로 패키징합니다. 다양한 유형의 프로세서를 지원하기 위해

4. HandlerAdapter——>프로세서 함수 처리 메서드 호출, HandlerAdapter는 적응 결과 메서드에 따라 실제 프로세서 함수 처리를 호출하고 함수 처리를 완료합니다. ModelAndView 객체(모델 데이터, 논리적 뷰 이름 포함)

5. ModelAndView의 논리적 뷰 이름 ——> ViewResolver는 이 전략 모드를 통해 논리적 뷰 이름을 특정 뷰로 결정합니다. 다른 뷰 기술을 쉽게 대체할 수 있습니다. 실제로는 다른 뷰 기술을 지원하기 쉽습니다.

7. DispatcherServlet에 제어권을 반환하고 DispatcherServlet은 사용자에게 응답을 반환합니다. 과정의 끝입니다.

핵심 프로세스:


1에 대한 요청을 시작합니다. 프론트엔드 컨트롤 DispatcherServletSpring MVC의 프로세스는 무엇입니까?

2. 프론트엔드 컨트롤러는 Handler를 찾기 위해 HandlerMapping을 요청합니다(xml 구성 및 주석을 기반으로 검색 가능)

3. 프런트엔드 컨트롤러 반환 핸들러인 HandlerMapping은 요청을 HandlerExecutionChain 개체(Handler 프로세서(페이지 컨트롤러) 개체, 여러 HandlerInterceptor 인터셉터 개체 포함)에 매핑합니다. 이 전략 패턴을 통해 새로운 매핑 전략을 추가하는 것은 쉽습니다#🎜🎜 ## 🎜🎜#4. 프런트 엔드 컨트롤러는 프로세서 어댑터를 호출하여 Handler

5를 실행합니다. 프로세서 어댑터 HandlerAdapter는 적응 결과에 따라 Handler를 실행합니다

6 . 핸들러 실행이 완료된 후 ModelAndView는 어댑터

7로 반환됩니다. 프로세서 어댑터는 ModelAndView를 프런트 엔드 컨트롤러로 반환합니다(ModelAndView는 모델 및 뷰를 포함하는 springmvc 프레임워크의 기본 개체입니다).

8. 프론트엔드 컨트롤러는 뷰 해석기(논리적 뷰 이름에 따라 실제 뷰(jsp)로 해석)를 요청합니다. 이 전략을 통해 다른 것을 쉽게 교체할 수 있습니다. 뷰 기술만 변경하면 됩니다

# 🎜🎜#9. 뷰 파서는 프런트 엔드 컨트롤러에 뷰를 반환합니다

10. (뷰 렌더링은 ModelAndView 객체의 모델 데이터를 요청 필드에 채웁니다.)#🎜🎜 #

11. 프런트 엔드 컨트롤러는 사용자에게 결과로 응답합니다.

[관련 권장 사항 :

JavaTutorial

]

위 내용은 Spring MVC의 프로세스는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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