springmvc简介
1.什么是SpringMVC?
Spring Web MVC是一种基于Java的,实现了Web MVC设计模式的轻量级Web框架,使用了MVC架构模式的思想,将web层进行职责解耦,采用了松散耦合可插拔组件结构,比其它MVC框架更具扩展性和灵活性。
可以让我们实现:
l 进行更简洁的Web层的开发;
l 天生与Spring框架集成(如IoC容器、AOP等);
l 提供强大的约定大于配置的契约式编程支持;
l 支持灵活的URL到页面控制器的映射;
l 非常容易与其他视图技术集成,如Velocity、FreeMarker等等,因为模型数据不放在特定的API里,而是放在一个Model里(Map数据结构实现,因此很容易被其他框架使用);
l 非常灵活的数据验证、格式化和数据绑定机制,能使用任何对象进行数据绑定,不必实现特定框架的API;
l 支持Restful风格。
2.SpringMVC架构?
流程总结:
1、 用户发起请求到DispatcherServlet(前端控制器)
2、 DispatcherServlet通过HandlerMapping(处理映射器)寻找用户要请求的Handler
3、 HandlerMapping返回执行链,包含两部分内容:
a) 处理器对象:Handler
b) HandlerInterceptor(拦截器)的集合
4、 前端控制器通过HandlerAdapter(处理器适配器)对Handler进行适配包装
5、 调用包装后的Handler中的方法,处理业务
6、 处理业务完成,返回ModelAndView对象,包含两部分
a) Model:模型数据
b) View:视图名称,不是真正的视图
7、 DispatcherServlet获取处理得到的ModelAndView对象
8、 DispatcherServlet将视图名称交给ViewResolver(视图解析器),查找视图
9、 ViewResolver返回真正的视图对象给DispatcherServlet
10、 DispatcherServlet把Model(数据模型)交给视图对象进行渲染
11、 返回渲染后的视图
12、 将最终的视图返回用户,产生响应