什么是SpringMVC?
SpringMVC是Spring家族中提供的一个实现Web MVC设计模式的轻量级Wed框架,他与Struts2同样,都属于MVC框架(Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,),可是只不过Struts2是老框架,已经被淘汰了。SpringMVC主要完成C(控制器)的做用,可是器性能笔Strust2好不少。前端
做用:从请求中接受传入的参数;将底层传回的参数结果返回前台页面进行展现。后端
SpringMVC具备什么特色?
- 是Spring框架的一部分,能够方便的使用Spring框架的其余功能
- 灵活性好,易于与其余框架集成
- 提供了一个前端控制器DispatcherServlet,使开发人员更加方便,无需本身开发前端控制器对象
- 能够自动的绑定用户输入,能够正确的进行数据类型转换
- 内置了常见的校验器,能够校验用户输入,若是输入不正确会自动重定向到输入表单
- 支持国家化能够根据用户位置显示多国语言
- 支持多种试图技术,它支持jsp,Velocity和FreeMark的视图技术
- 使用基于xml配置文件,在编译后,不须要从新编译程序
SpringMVC的工做流程?

- 经过浏览器向服务器发送请求,请求会被SpringMVC的前端控制器DispacherServlet拦截
- DispacherServlet拦截请求后会调用HanderMapping处理器映射器
- 处理器映射器会根据请求URL找到具体的处理器,生成处理器对象几处理器拦截器(若是有则生成)一并返回给DipacherServlet;
- DispacherServlet会根据返回的信息选择合适的HanderAdapter(处理器适配器)
- HanderAdapter会调用执行Hander(处理器),这里的处理器指得就是程序中编写的Controller类,也被称之为后端控制器
- Controller执行完后会返回一个ModelAndView对象,该对象中包含视图名或包含模型和视图名
- HandlerAdapter将ModleAndView对象返回给DispatcherServlet
- DispacherServlet会根据ModleAndView选择一个合适的ViewReslover(视图解析器)
- ViewReslover解析后,会向DispatcherServlet中返回具体的View(视图);
- DispatcherServlet对View进行渲染(即将模型数据填充至视图中);
- 视图渲染结果会返回给客户端浏览器显示。
工做流程简易版:设计模式
