MVC框架中英文对照外文翻译文献 下载本文

(例如,控制器更新用户的购物车)。复杂的控制器通常被设计使用命令模式封装action和简化继承。

4.一个视图使用模型来生成一个合适的用户界面(例如,视图产生一屏购物车内容的列表)。视图从模型中得到自己的数据。模型与视图没有直接关联。(然而,观察者模式可使模型间接通知相关方的变化,包括潜在的视图。)

5.用户界面等待进一步用户交互后开始新的循环。 以上数字概述的模型,视图和控制器之间的关系由基于以下。 A.实现策略

SpringMVC框架是基于分派请求操作的分发器(DispatcherServlet)设计的。有着可配置的处理器映射(handler mappings)、视图解析器(view resolution)、本地化(locale)和主题解析器(theme resolution)同时支持上传文件。 B.SpringMVC的特性

? 明确分工。每个角色——控制器,校验器(validator),命令对象(command object),表单对象(form object), 模型对象(model object), 分发器,处理器映射, 视图解析器等等都有专门的对象来实现。

? 将框架类和应用类作为JavaBeans的配置强大且直接明了。包括通过应用上下文配置中间层引用,例如从WEB控制器到业务对象和校验器。

? 适用性,不受干扰性,和灵活性。根据给定场景,用一些参

数注解(例如:

@RequestParam,@RequestHeader,@PathVariable,还有很多)来定义你需要的控制器方法。

? 可复用业务代码,无需复制。使用已有的业务对象作为命令对象或者表单对象而不是通过映射来继承特殊的框架基类。 ? 可定制的绑定和校验。将类型不匹配作为应用级别校验错误,能保留值,本地化日期和数字绑定等,而不是使用需要手动解析并转换业务对象的且只是字符串的表单对象。 ? 可定制的处理器映射和视图解析器。处理器映射和视图解析器策略的范围从简单的基于URL的配置到复杂的专用解析策略。Spring比WEB MVC框架更加灵活在授权一个特定技术上看来。

? 灵活的模型传输。模型传输是支持根据名字/值的Map,很容易集成任何视图的技术。

? 可定制的本地化和主题解析,支持JSP,无论是否使用Spring标签库,支持JSTL,支持不需要额外过度的Velocity等等。 ? 一个简单且强大的JSP标签库称为Spring标签库,提供的功能如数据绑定和主题。定制标签允许最大程度的灵活性就标记代码而言。

? 在Spring2.0中引入的一种JSP表单标签库能使在JSP界面中写表单更便捷。

? Beans的生命周期范围是当前HTTP请求或HTTP会话。它并不

是Spring MVC本身具体特征,而是Spring MVC使用了WebApplicationContext容器的。

图1.MVC架构

C.可插拔性的其他MVC的实现

如果你不想使用Spring的WEB MVC,但打算使用Spring提供的其它功能,你可以很容易地将你选择的WEB MVC框架和Spring整合。直接通过Spring的Context-LoaderListener启动一个Spring根应用上下文,通过它的ServletContext属性(或者Spring的各种帮助方法)来访问来自Struts或者WebWork的action。没有\参与, 所以也没有针对它整合的必要。从WEB层的角度看,你只要使用Spring作为库,带有根应用上下文的实例作为切入点。

你所注册的beans和Spring的服务随时可访问及时在没有Spring的WEB MVC的情况下。Spring并没有在这种情景下与Struts或者WebWork竞争。它只是提供了纯WEB MVC框架在很多领域所不具备的,从bean配置到数据访问和事务处理。所以你可以用Spring中间层和/或数据访问层来丰富你的应用,及时你只是想使用,好比,JDBC和Hibernate这样的抽象事务管理。

Spring的WEB MVC框架同很多其他的WEB框架一样,是由请求驱动的。围绕着一个能将请求分发到控制器的servlet设计,它还提供其他有利于WEB应用开发的功能。然而Spring的分法器所做的不仅如此。它完整的整合了Spring Ioc容器使你能够使用Spring所具有的其他功能。

Spring Web MVC分发器的请求处理工作流在下方的图说明。模式理解阅读器会识别分发器是“前端控制器”设计模式的表达式(这是一种Spring WEB MVC与其他许多领先框架共享的模式)。 分发器是一个真正的Servlet(它继承至HttpServlet基础类),并同样要在你的web应用的web.xml文件中声明。你需要映射你想让分发器处理的请求,通过在同个web.xml文件中使用URL映射。这是标准的J2EEservlet配置。

...

example

org.springframework.web.servlet.DispatcherServlet 1