Spring MVC的静态和动态概念

MVC模式:

图释:用户请求通过HTTP协议到达Front controller,Front controller把请求送给Controller,Controller了解业务逻辑细节并且调用业务逻辑数据,并将业务数据返回给Front controller,Front controller将业务数据分发给View template,View template呈现最终的用户页面,View template将最终用户页面返回给Front controller,Front controller将用户页面返回给浏览器进行展示。

Front controller可以类比于医院里的分诊台,也即挂号的地方,Controller可以类比于每一个具体的科室。

MVC:

V(View):为用户提供UI,重点关注数据的呈现。

M(Model):业务数据的信息表示,关注支撑业务的信息构成,通常是多个业务实体的组合。

C(Controller):调用业务逻辑产生合适的数据,传递数据给视图层进行呈现。

静态概念:

DispatcherServlet就是MVC里面的Front controller

Controller就是MVC里的Controller

HandlerAdapter是在DispatcherServlet内部使用的一个内,就是Controller的一种表现形式,利用了适配器模式,将很多个handler适配成DispatcherServlet可以调用Controller的模式

HandlerInterceptor在我们要调用Controller或view之前和之后可以做一些拦截的操作

HandlerMapping帮助DispatcherServlet去从很多个Controller中调用具体的某一个Controller,在HandlerMapping工作完毕之后,它可以给DispatcherServlet一个HandlerAdapter,这个HandlerAdapter里面包括了某一个具体的Controller的实例以及包裹的HandlerInterceptor,这些东西会一起构成一个统一的执行链条往下进行。

HandlerExecutionChain也就是上面的执行链条(这个链条的实现用到了反射机制)

ModelAndView是Spring MVC中的具体表现

ViewResolver会告诉DispatcherServlet需要用哪一个试图来呈现,也就是找到类似于jsp,jstl等的页面呈现

动态概念:

原文地址:https://www.cnblogs.com/cing/p/7472533.html