我们知道MVC是一种经典的模式,把视图、控制器以及数据分开,解耦了各模块之间的关系。Spring Web MVC是基于Java实现的Web MVC设计模式,是一个请求驱动类型的轻量级Web框架,也就是借助MVC设计模式的思想,将web层进行各个职责模块解耦。基于请求驱动,指的是使用请求-响应模型。框架的目的就是封装接口,简化开发,Spring Web MVC也是要简化日常Web开发。
在Spring MVC中,前端控制器是DispatcherServlet;应用控制器包括处理器映射器(Handler Mapping)进行处理器管理,以及视图解析器(View Resolver)进行视图管理;页面控制器/处理器为Controller接口(仅包含ModelAndView handleRequest(request, response) 方法)的实现(也可以是任何的POJO类)。
请求具体执行步骤如下:
1、 发送请求————>前端控制器,前端控制器根据请求信息(如URL)来决定选择哪一个页面控制器进行处理,并把请求委托给该控制器;
2、 页面控制器接收到请求后,进行功能处理,绑定请求参数到命令对象,并进行验证,然后将命令对象委托给业务对象进行处理;处理完毕后返回一个ModelAndView(模型数据和逻辑视图名);
3、 前端控制器收回控制权,然后根据返回的逻辑视图名,选择相应的视图,并把模型数据传入以便视图渲染;
4、 前端控制器将渲染后的视图返回给用户。
来源:oschina
链接:https://my.oschina.net/u/2971691/blog/793171