jsp+mysql阅览室图书管理系统设计与实现(6)
时间:2022-02-06 20:21 来源:毕业论文 作者:毕业论文 点击:次
中文翻译部分 Spring的web MVC 构架模式 1。 介绍:Spring 应用构架 当你第一次看到Spring的时候,你一定会说:"哦不,又一种web 构架"。这篇文章将告诉你Spring明显区别于其他轻量级, 它将专注于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服务。或者,用 数据库 来实现美妙完美的单个数据库交换。 2。 Web MVC:Spring web 框架的设计思想 Spring 框架通过配置操作mappings,展示resolution,本地化和模版集成围绕着分派请求操作的servlet - DispatcherServlet设计的。缺省的操作是一个非常简单的控制接口, 他只提供了ModelAndView方法。这将用于一个应用的控制,但是,如果你想包含多个层次的控制, 将帮助你完成。应用控制将代表那些子系统。注意,你可以选择一个适当的基类:如果你没有 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 模版模式。]] (责任编辑:qin) |