SSM英文文献翻译
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中南大学CentralSouthUniversity
本科毕业设计英文文献翻译
题目
学生姓名
学号
指导教师
学院
专业班级
二○一六年一月八日
Spring 的 web MVC 构架模式
Juergen Hoeller
1、介绍: Spring 的应用构架
当你第一次看到并接触Spring框架的时候,你一定会在心里想到;“哦哦,不不,这又是另一种Web构架”。这篇文章将会指出Spring框架不是什么特殊的web框架,而是一个通用的轻量级的应用程序框架,在专用网络支持下的应用程序框架。并且它会告诉你Spring框架明显区别于其他轻量级application framework,它将专注于web的支持,与struts和webwork有着明显的区别。
在和struts和webwork的对比上之中,Spring框架是一个服务于所有层面上的application framework:提供了bean的配置基础,AOP的支持,JDBC的提取框架,抽象事务支持,等等诸如此类。它有一个非常显著的特点:在某个层面上如果你不需要Spring的支持,它有一个非常显著的特点:在某个层面上如果你不需要Spring 的支持,你就可以不使用Spring框架的class(类),只使用它的某一部分的功能。从它的设计理念,你可以看到Spring框架帮助你实现了真正的逻辑层和web 层的成功分离:例如:一个校验应用将不用依靠controllers,就可以实现。这样的目标是更好的重用和易测:过分依靠不必要的容器和框架将不能实现这一点。
当然,Spring的自己本身的web支持和通常框架模式的细致完整。然而,Spring替换struts,webwork或者其他的web方案非常的容易。这个对于Spring 的web支持或者不同的地方,Spring允许你在web容器里面建立一个中间层,在测试环境或者标准独立的应用里面来设置重用你的商务逻辑。
还有就是在J2EE环境里面,可以让你你的商务逻辑不必依靠容器提供的服务,就比如像JTA,EJB的支持。良好的框架的一个web应用是可以运行在任何容器上,就比如,Tomcat或者Resin这些容器。值得注意的事,Spring不是和已经存在的解决方案进行竞争的关系。我们鼓励结合标准的技术,如Servlet,JSP,JTA,JNDI,JDBC和JDO,和其他非常匹配的工具,比方如Hibernate,Velocity,Log4J,和Caucho’s Hessian/Burlap这类工具。这个框架的设计思想是你的应用处在需要改良的时候,你将可以对其做一些技术的选择:例如,如果你需要分布式事务处理,你可能需要用Spring框架的JTA Transaction Manager 来实现JTA服务。或者,用DataSourceTranscactionM anager 或者HibernateTransction Manager 来实现美妙完美的单个数据库交换。
2、 Web MVC:Spring web框架的设计思想
Spring网络框架通过配置操作mappings可配置的处理程序,展示resolution,本地化和模板集成围绕着分派请求操作的servlet -DispatcherServlet分派请求处理程序,可配置的处理程序映射,决议,决议和语言环境和主题设计的。缺省的操作是一个非常简单的控制器接口,他只是提供了一个“ModelAndView handleRequest(request请求,response响应)”的方法。这已经可以将它应用于一个应用的程序控制器,但是,如果你想包含多个层次的控制,Abstract Controlerr,AbstractCommand Controllers,
MultiAction Controllers,SimpleForm Controllers,AbstractWizardForm Controller将帮助你完成,应用程序控制器将代表那些子系统通常是子类。注意,你可以选择一个适当的基类:如果你没有web form(网络形式),你就不必用 Form Controller。这便就是和Struts最大的不同区别了。你可以把任何物体作为命令或者形式对象来操作任何对象:这就可以不需要接口工具或者一个基础类的驱动。Spring的数据绑定是非常的高度灵活的。举例来说,对待类型不匹配的验证错误,他描述了具有在应用范围内的校验错误的输入机制,但不是系统错误。
所以在你的形式对象里面你大可不需要复制你的业务对象的Spring框架中的属性作为字符串表单对象,就能够处理无效的提交,或将字符串。相反,它通常比直接绑定到您的业务对象。这是另一个主要区别Struts是建立在需要基类行动和ActionForm——对任何类型的行动。只需要操作出错的子任务,或者适当的转换spring框架。换句话来说,他通常可以很好的字节绑定你的业务对象。这也是和Struts围绕请求基础类Action和ActionForm(每个action操作类型)建立主要的不同之一。
对比WebWork(网络系统),Spring框架更多的区别在于对象角色:Spring 框架支持控制器的概念,一个可选的操作命令或者表单对象,得到数据并传递给视图的模式这个模型。这个模式通常包含命令和表单对象,但有时也包含任意的参考数据。换句话来说,相反一个webwork aciton(网络系统动作)联合了所有这些角色到单独的对象中。网络系统不允许你用已经存在的业务对象作为你f 表单的一部分,但是只生成各自相关Action操作类的bean属性。
最后,相同的操作请求的aciotn操作实例在一个视图里面获得赋值和形成人口集群。因此,引用数据需要模仿作为行动的bean属性。这些可以说是太多的角色在一个对象中。
然而,参考数据也需要作为action的属性被模拟。一个类里面有太多的角色是值得讨论的。
关于视图:Spring框架的视图方案非常的灵活。甚至可以编写一个视图控制器实现通过respongse返回ModelAndview对象的null值,就可以直接写到一个视图。
在通常的状况下,一个ModelAndView实例结合了一个view(视图名称)和一个model Map(模型地图),包含了bean 名称和相应的通讯对象(像命令或者形式,参考数据,等等)。视图名称解析是非常高端的配置,不是通过bean 名称,一个propertiese 文件,就是通过你自己的ViewResolver来实现的。这个抽象的model Map(模型映射)允许你在视图层面完成提取视图,没有任何的争辩麻烦:JSP ,速度,或者其他,每一种渲染器都可以直接完整集成使用。这个model Map(模型映射)还可以简单转化得到适当的格式化数据的转换,像JSP 请求属性或者Velocity模板模式。
3、集成:用Spring一个不同web框架
许多开发团队将为他们已有的项目或者新的项目已经获得的期限和工具进行投资。这里没有像Struts那样大量的图书和工具,但是同样我们又大量的拥有Spring开发技巧的开发人员。然而,如果你愿意生活在Strust的构架瑕疵中