SpringMVC概述
- Spring为表示层提供的基于MVC设计概念的优秀的web框架,是目前最主流的MVC框架之一
- Spring3.0后全面超越struct2,成为最优秀的MVC框架
- SpringMVC通过一套MVC注解,让POJO成为处理请求的控制器,而无需实现任何接口
- 支持REST风格的URL请求
- 采用了松散耦合可插拔组件结构,比其他MVC框架更具扩展性和灵活性
SpringMVC是什么
-
一种轻量级的,基于MVC的Web层应用框架。偏向前端而不是业务逻辑层。Spring框架的一个后续产品
-
Spring框架结构图:
SpringMVC能干什么
- 天生与Spring框架集成,比如:IOC,AOP
- 支持Restful风格
- 进行更简洁的web层开发
- 支持灵活的URL到页面控制器的映射
- 非常容器和其他视图技术集成,如:Velocity、FreeMarker等等
- 模型数据不存放在特定的API里面,而是放在一个Model里面6)(Mapbu数据结构实现,因此很容易被其他框架使用)
- 非常灵活的数据验证、格式化和数据绑定机制,能使用任何对象进行数据绑定,不必实现特定框架的API
- 更加简单、强大的异常处理
- 对静态资源的支持
- 支持灵活的本地化、主题等解析
SpringMVC怎么玩
1)将web层进行职责解耦,基于请求-响应模型
2)常用主要组件:
- ①DispatcherServlet:前端控制器
- ②Controller:处理器/页面控制器,做的是MVC中的C的事情,但控制逻辑转移到前端控制器了,用于对请求进行处理
- ③HandlerMapping :请求映射到处理器,找谁来处理,如果映射成功返回一个HandlerExecutionChain对象(包含一个Handler处理器(页面控制器)对象、多个HandlerInterceptor拦截器对象)
- ④View Resolver : 视图解析器,找谁来处理返回的页面。把逻辑视图解析为具体的View,进行这种策略模式,很容易更换其他视图技术;
- 如InternalResourceViewResolver将逻辑视图名映射为JSP视图
- ⑤LocalResolver:本地化、国际化
- ⑥MultipartResolver:文件上传解析器
- ⑦HandlerExceptionResolver:异常处理器