Spring MVC教程

Spring MVC 是一个模型 - 视图 - 控制器(MVC)的Web框架创建在中央前端控制器servlet(DispatcherServlet),它负责发送每一个请求到合适的处理程序,使用视图来最终返回响应结果的概念。Spring MVC 是 Spring 产品组合的一部分,它享有 Spring IoC容器紧密结合Spring松耦合等特色,所以它有Spring的全部优势。前端

SpringMVC架构图所下所示 web

 

Spring Web MVC框架特色浏览器

清晰的角色划分:控制器(controller)、验证器(validator)、 命令对象(command object)、表单对象(form object)、模型对象(model object)、 Servlet分发器(DispatcherServlet)、 处理器映射(handler mapping)、视图解析器(view resolver)等等。 每个角色均可以由一个专门的对象来实现。

强大而直接的配置方式:将框架类和应用程序类都能做为JavaBean配置,支持跨多个context的引用,例如,在web控制器中对业务对象和验证器(validator)的引用。

可适配、非侵入:能够根据不一样的应用场景,选择合适的控制器子类 (simple型、command型、form型、wizard型、multi-action型或者自定义),而不是从单一控制器 (好比Action/ActionForm)继承。

可重用的业务代码:可使用现有的业务对象做为命令或表单对象,而不须要去扩展某个特定框架的基类。 

可定制的绑定(binding) 和验证(validation):好比将类型不匹配做为应用级的验证错误, 这能够保存错误的值。再好比本地化的日期和数字绑定等等。 

可定制的handler mapping和view resolution:Spring提供从最简单的URL映射, 到复杂的、专用的定制策略。 

灵活的model转换:在Springweb框架中,使用基于Map的 键/值对来达到轻易地与各类视图技术的集成。 

可定制的本地化和主题(theme)解析:支持在JSP中可选择地使用Spring标签库、支持JSTL、支持Velocity(不须要额外的中间层)等等。 

简单而强大的JSP标签库(Spring Tag Library):支持包括诸如数据绑定和主题(theme) 之类的许多功能。它提供在标记方面的最大灵活性。 

JSP表单标签库:在Spring2.0中引入的表单标签库,使得在JSP中编写 表单更加容易。 

Spring Bean的生命周期能够被限制在当前的HTTP Request或者HTTP Session。 准确的说,这并不是Spring MVC框架自己特性,而应归属于Sping MVC使用的WebApplicationContext容器。架构

Spring MVC大体的执行流程以下:app

  一、首先浏览器发送请求给前端控制器DispatcherServlet,DispatcherSerlvet根据请求信息,基于必定的原则选择合适的控制器进行处理并把 请求委托给它。框架

      二、页面控制器接收到请求以后进行功能处理,首先须要收集、绑定请求参数到一个对象(命令对象),并进行验证,而后将该对象委托给业务对象进行处理(service层);业务对象处理以后控制器将返回一个ModelAndView(模型数据和逻辑视图名);spa

      三、DispatcherServlet根据返回的逻辑视图名,选择合适的视图进行渲染(界面展现、资源加载),并把模型数据传入以便视图渲染。orm

      四、前端控制器将响应返回个客户端浏览器。对象

相关文章
相关标签/搜索