文章标题

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

(未完待续)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章