您的位置:首页 > 编程语言 > Java开发

JAVA开发 - Spring MVC学习

2015-07-20 14:51 316 查看

Spring MVC

其实就是一种java实现的web mvc设计模式的请求驱动类型的轻量级Web框架,就是用了MVC的架构模式思想,把Web层解耦,这样基于请求驱动指的就是请求-响应模型。

前端控制器是DispatcherServlet, 应用控制其实是两部分:处理器映射器(Handler Mapping)进行处理器管理和视图解析器(View Resolver)进行视图管理。页面控制器就是Controller接口,包含一些
ModelAndView handleRequest (request, response)
的实现,就是POJO类。提供了灵活的数据燕珍,格式化和数据绑定。

Spring MVC用途

简单的Web层单元测试,灵活的URL到页面控制器映射,灵活数据验证格式化和数据绑定。

Spring MVC架构

MVC的这个框架是基于请求驱动的框架,也是用前端控制器模式,根据请求映射规则分发给响应的控制器来处理。

Spring MVC处理请求流程

首先用户发送请求-》前端控制器,根据请求信息(如URL)决定页面控制器。

页面控制器收到了请求之后,进行功能处理,然后返回一个ModelAndView.

前端控制器收回控制权,根据返回的逻辑视图进行渲染。

前端控制器将响应返回给用户。

Spring MVC核心流程

首先用户发送请求——>DispatcherServlet,前端控制器收到请求后自己不进行处理,而是委托给其他的解析器进行处理,作为统一访问点,进行全局的流程控制;

DispatcherServlet——>HandlerMapping, HandlerMapping将会把请求映射为HandlerExecutionChain对象(包含多个HandlerInterceptor拦截器)对象,通过这种策略模式,很容易添加新的映射策略;

DispatcherServlet——>HandlerAdapter,HandlerAdapter将会把处理器包装为适配器,从而支持多种类型的处理器,即适配器设计模式的应用,从而很容易支持很多类型的处理器;

HandlerAdapter——>处理器功能处理方法的调用,HandlerAdapter将会根据适配的结果调用真正的处理器的功能处理方法,完成功能处理;并返回一个ModelAndView对象(包含模型数据、逻辑视图名);

ModelAndView的逻辑视图名——> ViewResolver, ViewResolver将把逻辑视图名解析为具体的View,通过这种策略模式,很容易更换其他视图技术;

View——>渲染,View会根据传进来的Model模型数据进行渲染,此处的Model实际是一个Map数据结构,因此很容易支持其他视图技术;

返回控制权给DispatcherServlet,由DispatcherServlet返回响应给用户,到此一个流程结束。

这部分内容来自:开涛博客

主要是最近在做,所以一边参考一边实践来尝试写一下。后面写一些比较实践性的内容。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mvc java spring