SpringMVC是一种基于Java的实现了WebMVC设计模式的请求驱动类型的轻量级Web框架,既使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的是使用请求--响应模型,框架的目的就是帮助我们简化开发,SpringMVC也要简化我们的开发。
springMVC可以做什么?
1、让我们能非常简单的设计出简单的web层和薄薄的web层
2、进行更简洁的web层开发
3、天生与Spring框架集成(如IOC容器,AOP等)
4、提供强大的约定大于配置的契约式编程支持
5、能简单的进行web层的单元测试
6、支持灵活的URL到页面控制器的映射
7、非常容易与其他视图技术集成。如Velocity,FreeMarker等,因为模型数据不放在特定的API里,而是放在一个Model
里(Map数据结构实现,因此很容易被其他框架使用)
8、非常灵活的数据验证、格式化和数据绑定机制,能使用任何对象进行数据绑定,不用实现特定框架的API
9、提供了一套强大的JSP标签库,简化JSP开发
10、支持灵活的本地化、主题解析
11、更加简单的异常处理
12、对静态资源的支持
13、支持Restful的风格
SpringMVC的组件:
DispatcherServlet:前端控制器
HandlerMapping:处理器映射器(将请求映射到处理器)
HandlerAdapter:把处理器包装为适配器,用来支持多种类型的处理器
View Resolver:视图解析器
Controller接口;处理器
Local Resolver:本地化解析
Theme Resolver:主题解析
MultipartResolver:文件上传解析
HandlerExceptionResolver:解析处理异常
RequestToViewNameTranslator:当处理器没有返回逻辑视图名等相关信息时,自动将请求URL映射为逻辑视图名
FlashMapManager:用于管理FlashMap的策略接口,用于存储一个请求的输出,当进入另一个请求时作为该请求的输入通常用于重定向的场景
SpringMVC的开发步骤:
1、DispatcherServlet在web.xml中的部署描述,从而拦截请求到SpingMVC
2、配置HandlerMapping 从而将请求映射到处理器
3、配置HandlerAdapter 从而支持多种类型的处理器
4、配置ViewResolver 从而将逻辑视图名解析为具体视图
5、配置处理器,从而进行功能处理
SpringMVC的Helloworld
1、在web.xml加入如下配置
2、在WEB-INF/spring/springmvc.xml中配置HandlerMapping、HandlerAdapter
3、开发处理器/页面控制器
4、在springmvc.xml中配置controller:
5、开发视图页面
下一篇学习:前端控制器DispatcherServlet