2.2 Struts 2和Spring MVC
Spring
框架提供了构建Web
应用程序的全功能MVC
模块:Spring MVC
。** Spring MVC
框架提供了一个DispatcherServlet
作为前端控制器来分派请求**,同时提供灵活的配置处理程序映射、视图解析、语言环境和主题解析功能,并支持文件上传。SpringMVC
还包含多种视图技术,例如Java Server Pages(JSP)
、 Velocity
、 Tiles
、 iText
和POI
等。 Spring MVC
分离了控制器
、模型对象
、分派器
以及处理程序对象的角色
,这种分离让它们更容易定制。
2.2.1 Spring MVC的优势
Spring MVC特点
Spring MVC
具有如下特点
Spring MVC
拥有强大的灵活性、非侵入性和可配置性Spring MVC
提供了一个前端控制器DispatcherServlet
,开发者无须额外开发控制器对象。Spring MVC
分工明确,包括控制器
、验证器
、命令对象
、模型对象
、处理程序映射
、视图解析器
,等等,每一个功能实现由一个专门的对象负责完成。Spring MVC
可以自动绑定用户输入
,并正确地转换数据类型。例如,Spring MVC
能自动解析字符串,并将其设置为模型的int
或float
类型的属性。Spring MVC
使用一个名称/值
的Map
对象实现更加灵活的模型数据传输。Spring MVC
内置了常见的校验器
,可以校验用户输入,如果校验不通过,则重定向回输入表单
。输入校验是可选的,并且支持编程方式及声明方式。Spring MVC
支持国际化,支持根据用户区域显示多国语言,并且国际化的配置非常简单.Spring MVC
支持多种视图技术,最常见的有JSP
技术以及其他技术,包括Velocity
和FreeMarker
。Spring
提供了一个简单而强大的JSP
标签库,支持数据绑定功能,使得编写JSP
页面更加容易