没有合适的资源?快使用搜索试试~ 我知道了~
毕设 外文文献翻译-Spring的web MVC构架模式 (3).docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 142 浏览量
2022-10-27
19:35:46
上传
评论
收藏 42KB DOCX 举报
温馨提示


试读
17页
毕设 外文文献翻译--Spring的web MVC构架模式 (3).docx毕设 外文文献翻译--Spring的web MVC构架模式 (3).docx
资源推荐
资源详情
资源评论




















翻译文稿 1:
Spring 的 web MVC 构架模式
Juergen Hoeller
1.介绍:Spring 应用构架
当你第一次看到 Spring 的时候,你一定会说:"哦不,又一种 web 构架".
这篇文章将告诉你 Spring 明显区别于其他轻量级 application framework, 它
将专注于 web 的支持,与 struts 和 webwork 有着明显的区别。
在和 struts 和 webwork 的对比上,Spring 是一个服务于所有层面的
application framework:提供了 bean 的配置基础,AOP 的支持,JDBC 的提取框
架,抽象事务支持,等等。它有一个非常显著的特点:在某个层面上如果你不
需要 Spring 的支持,你就可以不使用 String 的 class,只使用它的某一部分
的功能。 从它的设计理念,你可以看到 String 帮助你实现了真正的逻辑层和
web 层的分离:例如。一个校验应用将不用依靠 controllers,就可以实现。这
样的目标是 更好的重用和易测:过分依靠不必要的容器和框架将不能实现这一
点。
当然,Spring 的自己的 web 支持和通常框架模式的细致完整.然而,Spring
替换 struts,webwork 或者其他的 web 方案非常的容易.对于 Spring 的 web 支持
或者不同的地方,Spring 允许你在 web 容器里面建立一个中间层,在测试环境
或者标准独立的应用里面来设置重用你的商务逻辑.还有在 J2EE 环境里面,你
的商务逻辑不必依靠容器提供的服务,像 JTA ,EJB 的支持.良好的构架的 web
应用可以运行在任何容器上,如,Tomcat 或者 Resin. 值得注意的是,Spring
不是和已经存在的解决方案进行竞争. 我们鼓励结合标准的技术,如,
Servlet, JSP, JTA, JNDI, JDBC, and JDO, 和非常匹配的工具,如,
Hibernate, Velocity, Log4J, and Caucho's Hessian/Burlap.这个框架的的
设计思想是在你的应用需要改良的时候,你将会做一些技术的选择:例如,如果
你需要分布式事务处理,你可能需要用 Spring 的 Jta TransactionManager 来
实现 JTA 服务.或者,用 DataSourceTransactionManager or
HibernateTransactionManager 来实现美妙完美的单个数据库交换。
2. Web MVC:Spring web 框架的设计思想

Spring 框架通过配置操作 mappings,展示 resolution,本地化和模版集成
围绕着分派请求操作的 servlet - DispatcherServlet 设计的.缺省的操作是一
个非常简单的控制接口, 他只提供了 ModelAndView
handleRequest(request,response)方法.这将用于一个应用的控制,但是,如果
你想包含多个层次的控制,AbstractController,
AbstractCommandController, MultiActionController,
SimpleFormController, AbstractWizardFormController 将帮助你完成.应用
控制将代表那些子系统.注意,你可以选择一个适当的基类:如果你没有 web
form,你就不必用 FormController.这就是和 Struts 最大的不同. 你可以通过
命令或者 form 对象来操作任何对象:这不需要接口工具或者一个基础类的驱
动.Spring 的数据邦定是非常的灵活的.举例来说,它描述了具有在应用范围内
的校验错误的输入机制,但不是系统错误.所以在你的 form 对象里面你不必复制
你的业务对象的 string 属性,只操作出错的子任务,或者适当地转换 string.换
句话说,它通常可以很好的直接邦定你的业务对象. 这也是和 struts 围绕请求
基础类 Action 和 ActionForm (每个 action 操作类型) 建立主要的不同之一.
对比 WebWork,Sping 更多的区别在于对象角色:Sping 支持控制器的感念,一个
操作命令或者 form 对象,和得到数据传递给视图的模式.这个模式通常包含命令
和 form 对象,但有时也包含任意的参考数据.换句话说,一个 WebWork Action 联
合所有这些角色到一个单独的对象.WebWork 允许你用已经存在的业务对象作为
你 form 的一部分,但是只生成各自 Action 的 bean 属性. 最后,操作请求的
Action 实例在一个视图里面获得付值和 form population. 然而,参考数据也
需要作为 Action 的属性被模拟. 一个类里面有太多的角色是值得讨论的. 关
于视图:Spring 的视图方案非常的灵活. 一个控制器执行可以通过 response 返
回 ModelAndView 对象 null,就可以直接写到一个视图.在通常的状况下,一个
ModelAndView 实例结合了 一个 view 和一个 model Map,包含了 bean name 和
通讯对象(像命令或者 form,参考数据等等). View 名称是非常高端的的配置,
不是通过 bean name, 一个 properties 文件就是通过你自己的 ViewResolver.
这个抽象的 model Map 允许你在视图层面完成提取,没有任何的争辩

JSP/Velocity 或者其他,每一种都可以直接完整使用.这个 model Map 还可以简
单得得到适当的格式化数据的转换,像 JSP 请求属性或者 Velocity 模版模式.
3.集成:用 Spring 一个不同 web 框架
许多开发团队将为他们已有的项目或者新的项目已经获得的期限和工具进
行投资.这里没有像 Struts 那样大量的图书和工具,但是同样我们有大量的拥
有 Spring 开发技巧的开发人员.然而,如果你愿意生活在 Struts 的构架瑕疵中
的话,他将是你在 web 层开发不错的选择.当然,其他应用也是一样. 如果你不
想用 Spring 的 web MVC ,但是想借用 Spring 嫁接其他的解决方案,你可以非
常简单地通过 Spring 继承你自己的 web 框架.你可以非常简单地通过
ContextLoaderListener 启动一个 Spring root application context, 并且,
通过 Struts 或者 WebWork 的 action 利用 ServletContext 属性(或者 Spring
的 helper 方法)存取它. 值得注意的是, 这里没有任何的 "plugins"被调用,因
此没有专门的集成:来自 web 层的视图, 你可以简单的将 Spring 作为一个管理
application context 实例入口点的类库. 所有你注册 bean 和 Spring 服务都
可以在不需要 Spring 的 web MVC 的情况下都可以被你轻松掌握.Spring 不是和
Struts ,WebWork 这些应用进行竞争,它将作为一个纯 web 框架应用于 很多领
域,因为它不需要配置数据存储和事务操作.所以,你可以利用 Spring 提供的中
间层和数据存储层来丰富你的应用,甚至,你想用 JDBC 或者 Hibernate 进行事务
抽象.
4.特点核对列表
如果聚焦于 web 支持,Spring 的一些显著特点是: 清楚地角色分
离:controller , validator , command object , form object , model
object,和 DispatcherServlet , handler mapping vs view resolver, 等等
强大而且直接的框架和作为 JavaBeans 的应用配置,包括简单的参照和应用内
容,例如,从 web 控制器到业务对象和数据校验. 适应性,外挂:无论什么样的控
制器你都需要得到代替 Action/ActionForm 所做的每件事情的方案(简单,命
令,form,范例,多重 action,或者定制一个) 重用业务逻辑代码,不需要复制:你
可以用已经有的业务逻辑对象作为命令或则 form 对象代替反射特定的
ActionForm 子类. 可订制的邦定和数据校验:作为应用级的输入机制的错误校

验,固定日期和数字邦定,例如,通过手动检查和转换业务对象来替换单个的
string。 可订制的操作,可订制的视图方案:通过 name/value Map 灵活的模型
传送,用一个简单的方法从简单到复杂操作映射和视图方案策略.
本地定制和主题方案:Spring 没有 taglib,完全支持于 JSPs,JSTL,不需要
额外的连接就可以支持 Velocity,等等. 简单但是强大的 tag library 避免了
HTML 产生的混乱,最大限度的灵活扩展了标记代码.
剩余16页未读,继续阅读
资源评论


xxpr_ybgg
- 粉丝: 6173
- 资源: 3万+
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


安全验证
文档复制为VIP权益,开通VIP直接复制
