0毕业设计(论文)外文文献翻译院系:计算机与信息工程学院年级专业:姓名:学号:附件:SpringWebMvcFrameworkforRapidOpenSourceJ2EEApplicationDevelopment指导老师评语:指导教师签名:年月日运用springmvc框架进行快速的开源J2EE应用程序开发:案例研究1运用springmvc框架进行快速的开源J2EE应用程序开发:案例研究摘要—当今,web应用程序的开发竞争非常激烈,时代要求开发出的应用程序非常准确、经济和高效。人们致力于开发出能提高生产效率和降低复杂性的应用程序,转变程序员开发java2平台企业版的web应用程序的方法已经成为一个基本的运动。本文中我们讨论的重点是怎样开发出j2ee兼容的软件而无需使用企业javabean(EJB)。最好的选择之一就是运用spring框架,spring框架提供了许多服务,但是相比于EJB,它的侵入性大大降低了。这种转变背后的驱动力是web应用程序开发和实施领域提高生产率和降低复杂性的需要。本文中,我们将简要介绍spring的基本体系结构并且给出一个运用了springmvc框架的案例研究实例。关键词:mvc,spring,xmlⅠ、简介现今,网络问题是非常复杂的。由于公司和组织的需求都在不断的增加,应用程序开发的复杂性和系统性能是需要解决的主要问题。不同类型的通讯设备的复杂性在不断增加,而业务要求应用程序使用网络和许多通讯设备,并且互联网上数据负载不断的增加,这些迫使我们不得不考虑起应用程序的体系架构问题。现在,让我们讨论在保持应用程序模型视图结构不变的情况下,springwebmvc快速应用程序开发框架是如何快速工作的。Spring框架具有丰富的功能集,我们将简要讨论这些功能。1.控制反转:控制反转,即IOC。它是有线服务或者将组件添加到应用程序所使用的技术之一。IOC是“一种软件设计模式和相关的编程技术集”,与传统的交互模式相比,运用IOC后,系统的控制流是反向的。在IOC容器内不是应用程序调用框架而是框架调用应用程序指定的组件。IOC可以被解释为“把运行时所需要的资源或者依赖注入到相关的资源中去”,这也被称为依赖注入。org.springframework.beans.factory.BeanFactory是springIOC容器的实际表现,它是负责控制和管理bean的。BeanFactory接口是springIOC容器的主要接口。Bean就是由springIOC容器实例化和管理的对象。这些bean和他们之间的依赖关系反应在容器所使用的配置元数据中。2.构造函数依赖注入:我们可以使用java类的构造函数来加载bean的值。首先运用springmvc框架进行快速的开源J2EE应用程序开发:案例研究2定义一个只有单一构造函数的类,然后使用details.xml文件提供构造函数所需要的值,最后用一个实现了beanfactory接口方法的类来加载xml文件。这是使用xml文件把值加载到java文件的构造函数中,这种方法适用于向构造函数传递值。3.Setter依赖注入:给每一个bean定义其get和set方法。我们可以利用set方法在设定bean中的值。Set方法会覆盖掉从bean中加载的值。4.接口:我们可以在spring中定义接口类。为了实现这一点,必须为java程序导入接口,然后我们可以利用接口中定义的方法来使用spring和xml文件。5.继承:一个java类可以获得另一个java类的属性,就像只有一个java程序一样。继承有三种子类型:1)抽象型:spring中定义成抽象类的bean只能被继承。2)父子型:定义的的继承层次结构想父子关系一样。3)父-子–孙子型:这种类型的继承关系可以定义3个或者更多的类层次结构。6.自动装配:自动装配用于将xml文件中属性的键和值映射到java文件中去。有4种装配的类型:byName(通过名字)、byType(通过类型)、constructor(通过构造函数)、autodetect(自动检测)。如果没有定义装配的类型,那么默认是以通过名字的方式来装配的。7.Bean的作用域:spring中定义的所有bean有四种类型的作用域,即session,request,singleton,global-session。这些是用来控制bean的访问范围的。8.引用bean:在xml文件中的一个bean可以从其他的bean分配值。这尝尝用于从一个bean中读取值然后再分配给另一个bean。Ⅱ、spring的主要组件Spring框架依然遵循mvc的思想原则。它是为桌面应用和基于互联网的应用而设计的。Spring由三个相互协作的核心组件组成。1、控制器:处理业务逻辑中的跳转逻辑和同服务层的交互。2、模型:控制器和视图之间的桥梁,包含着控制器给予视图所需要的数据。3、视图:呈现请求后的响应,从模型中提取数据。Spring的核心组件如下所示:1.DispatcherServlet:它是spring的前端控制器的实现。Web.xml接收请求并且把它转移到DispatcherServlet,DispatcherServlet是与请求进行交互的第一个控制器,它也被称为Servlet的执行。它控制着应用程序的完整流和跳转流。2.控制器:这个是使用者为了处理请求而创建的组件,它封装了跳转逻辑。控制器将服务委托给服务对象。3.视图:视图是负责渲染呈现输出的。在输出的结果集、显示设备和通讯设备的基础上,不同类型的输出要选择不同的视图。运用springmvc框架进行快速的开源J2EE应用程序开发:案例研究34.ModelAndView:ModelAndView是spring框架的核心部分。它实现了应用程序的业务逻辑,由控制器创建。它使视图和请求联系起来并且存储了业务逻辑和模型数据。当一个控制器调用它的时候,它才会执行。在执行时,它将返回视图的数据和名字。5.ViewResolver:输出是如何显示的取决于从ModelAndView中接收的结果。ViewResolver是将逻辑视图名映射到实际视图的实现。这部分将确定和实现输出的是什么媒体以及如何去显示它。6.HandlerMapping:它是DispatcherServlet将传入的请求映射到单个控制器时所使用的战略性接口。它识别请求并且调用相应的处理程序来提供服务,处理程序会调用控制器。Ⅲ、spring的体系结构Spring框架为开发web应用程序提供了功能全面的mvc模型。Spring具有可插拨的mvc架构,他可以配置多种视图技术,例如:jsp、velocity、tiles、iText等等。Springmvc分离了控制器,模型对象,分派器和处理对象的角色。对象和控制器的清楚分离,使他们更容易进行定制。图01显示了执行流程。图01下面的图02显示了spring模型的序列图。图中dispatcherServlet是应用程序的运用springmvc框架进行快速的开源J2EE应用程序开发:案例研究4入口点,一旦dispatcherServlet获取请求服务,它就会决定处理程序。所有的处理程序和servlet都是相互映射的。处理程序开始运行和调用相应的控制器,并且将请求的参数传递给控制器,这个时候控制器开始工作,它包含了业务逻辑,同时ModelAndView与控制器关联起来,在执行时,控制器会把ModelAndView返回给dispatcherServlet,这个时候的ModelAndView包含了数据和视图名。DispatcherServlet从控制器从获得ModelAndView,然后Servlet会调用相应的视图解析器。视图解析器会识别出视图的名称并且通过视图名来提取相应的数据,最后,它会以适当的格式向用户呈现各自的数据。图02spring框架中应用程序的流程Ⅳ、spring和xmlXml广泛使用在spring框架中,它简化了开发流程,节约了时间。Xml用于存储在应用程序执行时所需要的一些数据。Web.xml文件是应用程序的入口点,它会告诉你进一步的跳转路径。它负责加载应用程序上下文并且指定了负责调度servlet的xml文件名。运用springmvc框架进行快速的开源J2EE应用程序开发:案例研究5web.xml:-?xmlversion=1.0encoding=UTF-8?web-appversion=1.0xmlns=http//java.sun.com/xml/ns/javaeexmlns:xsi=:schemalLocation=://java.sun.com/xml/ns/javaee/web-app-2_5.xsdlistenerlistener-Classorg.springframework.web.context.ContextLoaderListener/listener-Class/listenerservletservlet-namedispatcher/servlet-nameservletclassorg.springframework.web.servlet.DispatcherServlet/servlet-classload-on-startup1/load-on-startup/servletservlet-mappingservlet-namedispatcher/servlet-nameurl-pattern/send/*/url-pattern/servlet-mappingwelcome-file-listwelcome-fileindex.jsp/welcome-file/welcome-file-list/web-app以上就是xml文件,xml将与传入到服务器的请求经行交互。xml文件中明确了要调度的servlet的名称,应用程序上下文和index.jsp作为欢迎页面。url的类型定义为*.*,这意味着它将会接受任意类型的传入请求。ApplicationContext.xml–ApplicationContext建立在BeanFactory之上,它使AOP特征、消息资源处理和事件传播更容易集成在一起。BeanFactory提供了框架的配置和基本的功能,ApplicationContext则大大提高了应用的性能。当在j2EE的环境下开发应用程序,ApplicationContext是必不可少的。?xmlversion=1.0encoding=UTF-8?beansxmlns=:xsi=:p=运用springmvc框架进行快速的开源J2EE应用程序开发:案例研究6xmlns:aop=:tx=:schemaLocation=://://://