SpringMVC

一、概述

Spring 为展现层提供的基于 MVC 设计理念的优秀的 Web 框架,是目前最主流的 MVC 框架之一。Spring3.0 后全面超越 Struts2,成为最优秀的 MVC 框架。
Spring MVC 通过一套 MVC 注解,让 POJO 成为处理请求的控制器,而无须实现任何接口。
支持 REST 风格的 URL 请求。
采用了松散耦合可插拔组件结构,比其他 MVC 框架更具扩展性和灵活性。

二、是什么

1.一种轻量级的、基于 MVC 的 Web 层应用框架。偏前端而不是基于业务逻辑层。
2.是 Spring 框架的一个后续产品。
SpringMVC
SpringMVC
SpringMVC

三、能干什么

1.天生与 Spring 框架集成,如:(IOC,AOP)
2.支持 Restful 风格
3.进行更简洁的 Web 层开发
4.支持灵活的 URL 到页面控制器的映射
5.非常容易与其他视图技术集成,如:Velocity、FreeMarker 等等。
6.因为模型数据不存放在特定的 API 里,而是放在 Model 里(Map 数据结构实现,很容易被其他框架使用)
7.非常灵活的数据验证、格式化和数据绑定机制、能使用任何对象进行数据绑定,不必实现特定框架
8.更加简单、强大的异常处理
9.对静态资源的支持
10.支持灵活的本地化、主题等解析

四、怎么用

将Web层进行了职责解耦,也就和struts2一样,基于请求-响应模型
常用主要组件
DispatcherServlet:前端控制器
Controller:处理器/页面控制器,做的是MVC中的C的事情,但控制逻辑转移到前端控制器了,用于对请求进行处理
HandlerMapping :请求映射到处理器,找谁来处理,如果映射成功返回一HandlerExecutiongChain对象(包含一个Handler处理器(页面控制器)对象、多个HandlerInterceptor拦截器对象)
处理请求方式有哪几种
如InternalResourceViewResolver将逻辑视图名映射为JSP视图
LocalResolver:本地化、国际化
MultipartResolver:文件上传解析器
HandlerExceptionResolver:异常处理器
SpringMVC