您的位置:首页 > 编程语言 > Java开发

文章标题

2017-04-11 17:36 253 查看

22.1 Spring Web MVC 框架

Spring Web model-view-controller(MVC)框架是围绕
DispatcherServlet
设计的,它将请求分配给配置的处理映射,可视化,区域设置,时区和主题解析,以及支持上传文件的处理程序。默认的处理是基于能提供很多灵活处理方法的
@Controller
@RequestMapping
注解。从Spring 3.0开始,通过
@PathVariable
注解和其他特征,
@Controller
机制还能允许你创建RESTful网站和应用程序。

Spring Web MVC中,你可以把任何对象看成一个命令或表单支持对象;你不需要实现一个专门的框架接口或基类。Spring的数据绑定非常灵活:例如,类型不匹配视为程序可评估的验证错误,而不是系统错误。因此,你不需要…(这一段不太理解,难道是因为不懂以前的框架?)。相反,直接绑定在业务对象上。

Spring的视图解析也是很灵活的。
Controller
通常负责准备具有数据和选择视图名称的模型映射,但也可以直接写入响应流中完成请求。视图名称解析可通过文件扩展或Accept header content type配置,通过beans名称,配置文件或一个自定义的
ViewResolver
实现。Model是Map的一个接口,完全取决于视图技术。可以整合模板技术如JSP,Velocity和Freemarker,或者直接生成XML,JSON,Atom,或者其他形式的内容。Model Map就是简单地转换成合适的合适,例如JSP请求属性,Velocity模板模型。

22.1.1 Spring Web MVC的特征

Spring的web模块包含一些支持web特征:

Clear separation of roles(分工明确)。每个角色(controller, validator, command object, form object, model object, DispatcherServlet, handler mapping, view resolver)都能由专门的对象实现。

Powerful and straightforward configuration of both framework and application classes as JavaBeans(JavaBeans的强大配置)。这种配置包括跨上下文的简单引用,例如从Web控制器到业务对象和验证器。

Adaptability, non-intrusiveness, and flexibility。在一些场景下,控制器还可以使用@RequestParam, @RequestHeader, @PathVariable等。

Reusable business code, no need for duplication 。

(未完待续)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring