SpringMVC概述
Spring Web MVC是一种基于Java,并实现了Web MVC设计模式的请求驱动类型的轻量级Web框架
Spring Web MVC的前端控制器是DispatcherServlet
应用控制器可以分为三个部分
Handler Mapping处理器管理
视图解析器View Resolver进行视图管理
页面控制器/动作/处理器Controller接口:
SpringMVC功能
支持本地化(Local)解析
主题( Theme)解析以及文件上传等
提供了非常灵活的数据验证,格式化和数据绑定机制
提供了强大的约定大于配置(惯例优先原则)的契约式编程
1
DispatcherServlet的任务就是将请求发送给Spring MVC控制器(controller)
2
DispatcherServlet会查询一个或多个处理器映射来确定下一站在哪里,处理器根据请求所携带的url信息来进行决策
3
到了控制器,请求会卸下负载,并耐心等待控制器处理这些信息
4
控制器将模型数据打包,将表示出用于渲染的视图名,连同模型和视图名发送回DispatcherServlet
5
DispatcherServlet将会使用视图解析器,将逻辑视图名匹配为特定的视图实现
6
交付模型数据,完成请求任务
7
视图使用模型数据渲染输出,输出会通过响应对象传递给客户端
SpringMVC架构图
可以类比成膝跳反射进行理解记忆
当敲击膝盖时,膝盖处的神经(请求)会将受到疼痛的信息传递给大脑(DispatcherServlet),大脑接收信息后传递给大脑的处理器(Handler Mapping),大脑的处理器判断是应该控制膝盖相关的肌肉,神经的处理器做出反应后返回给大脑,此时大脑再将信息传递给控制器(Controller),进行膝盖处一个具体控制。再传递到与之相关的适配器(HandlerAdpater),将需要进行膝跳反射所需的具体神经,肌肉传递给大脑。此时大脑掌握了信息之后传递给支配膝盖附近的局部神经(ViewResovler),在进行解析后,局部神经进行膝跳反射动作(返回相应的视图View)动作完成(返回响应)