深入解读Spring Framework Web MVC(第一弹:Spring Web MVC概述)

SpringWebMVC框架围绕DispatcherServlet设计,支持可配置的handler映射、视图解析等功能。该框架允许创建RESTful web站点,具备清晰的角色分离、自定义绑定验证等特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Spring Web MVC简介

Spring Web MVC(即模型-视图-控制器)框架是围绕DispatcherServlet而设计的,其支持可配置的handler映射,视图解析,本地化、时区和主题的解析以及文件上传的功能。DispatcherServlet负责将请求分发到不同的handler。还可以创建RESTful web站点和应用程序。

Spring的数据绑定相当灵活,比如,Spring可以将不匹配的类型作为应用可识别的验证错误,而不是系统错误。也就是说,spring可以让我们直接将正确类型的参数绑定到业务逻辑对象。
Spring的视图解析也相当灵活。完成一个请求,Controller通常是负责准备一个数据模型Map和选择一个指定的视图,当然,也支持直接将数据写到响应流里。视图名称的解析是高度可配置的,可以通过文件扩展名、accept header的Content-Type、bean的名称、属性文件或自定义的ViewResolver实现来解析。模型(Model),是一个Map接口,提供对视图数据的完全抽象,可直接与渲染模版集成,如JSP,Velocity,Freemarker,或直接生成原始数据,或XML, JSON等其他类型的响应内容。模型Map接口只是负责将数据转换为合适格式,如jsp请求属性,Velocity的model等。

Spring Web MVC的特点

  • 清晰的角色分离: 每一个role,例如:controller, validator, command object, form object, model object, DispatcherServlet, handler mapping, view resolver,等等,可以被任意指定的对象执行。
  • 框架和应用程序的类作为javabean可以直接得到配置,这些配置包含复杂的引用内容,例如从web controllers到业务对象和验证。
  • 适配,无侵入,自由。可以根据需要定义任意的控制器的方法签名,根据使用的场景,使用各种注解如@RequestParam,@RequestHeader,@PathVariable等等。
  • 可重用的业务逻辑代码。
  • 自定义绑定和验证。
  • 自定义handler mapping和view resolution。 handler mapping和view resolution是基于URL配置的。
  • 灵活的model转化。Model的转化是伴随着name/value的Map类型的,便于和任意的视图技术整合。
  • 自定义locale,time zone和heme resolution
  • 强大的JSP标签库,Spring的标签库支持了数据绑定和主题等。
  • JSP的表单标签库。
  • beans的整个生命周期包含在当前的HTTP request或HTTP Session中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值