一个基于GWT和Spring MVC的电子学习系统外文翻译资料

 2022-10-26 10:50:27

英语原文共 4 页,剩余内容已隐藏,支付完成后下载完整资料


一个基于GWT和Spring MVC的电子学习系统

宋波 张叶军

沈阳师范大学软件学院 沈阳师范大学软件学院

中国辽宁沈阳 110034 中国辽宁沈阳 110034

电子邮箱: songbo63@126.com 电子邮件: yejun1108@126.com

摘要——在这篇文章中提出了一种集成GWT和Spring MVC的电子学习系统的解决方案。基于Ajax的客户端提供了小部件支持使用GWT和Spring MVC层使得项目项目易于维护。Hibernate使用数据库配置信息为应用程序和持久的对象提供持续的服务。Google Web Toolkit(GWT)和Spring MV两个框架使用于web应用程序。GWT是一种Web UI开发的飙升技术。Spring MVC和Hibernate作为一个成熟的快速业务应用程序开发体系结构自由从复杂的商业问题。最后,实践表明,本文提出的方法使结构能够有效地改善实时要求和电子学习系统的人机交互体验。

关键词-电子学习;Web 2.0,GWT;Spring MVC,hibernate框架

  1. 简介

对于一个在线学习系统, Ajax的主要的好处是大大提高用户体验[1]。虽然JavaScript和DHTML - Ajax的技术基础已经存在多年,大多数程序员忽视他们,因为他们很难掌握 [2]。尽管大多数Ajax框架的简化开发工作,你仍然需要把握好技术堆栈。所以,如果你只打算使用Ajax应用程序的改善用户体验,所以,如果你只打算使用Ajax应用程序的改善用户体验,如果你不使用它作为您的业务的战略优势——它可能是不明智的花大量的金钱和时间在技术[3]。现有系统关注业务数据的处理。很难适应变量业务规则、业务规则很难表达出来。更多的是一个简单的测试和数据存储、显示、不能协助业务逻辑处理。由于系统级还不清楚,有一些缺点,令人沮丧的重用软件组件,开发,维护的过程是复杂的; 运营商之间切换不同的系统和操作界面不友好的[4]。针对以上提到的问题,本文提出了在线学习系统的解决方案。使用称为远程过程调用(RPC)的前景和背景交互模式 [5]这是GWT提供的新的解决方案,用来进行客户端和服务器端之间的解耦,从而形成一种分层的和可扩展的电子学习系统框架。在此基础上根据 GWT和Spring MVC的整合,不仅是电子学习系统的成本和复杂性显著减少,而且人机交互的经验和实时需求得到有效的改进。

  1. GWT AND SPRING MVC

谷歌提供了另一种更有成效的方式来帮助Java开发人员创建Ajax应用程序。这个新框架称为GWT,它使用Java作为一个单独的客户端和服务器端编程语言。GWT可以消除手工编写HTML,JavaScript的复杂性和那些绑定JavaScript行为在一个HTML页面触发(客户端代码运行在用户的浏览器中)去控制在Java EE应用服务器(服务器端数据库所在)中执行的其他元素。当在一个好的IDE中开发时,GWT和其他框架相比可以比其他框架提供一个不可估量的优势并且大大降低项目的成本和复杂性另外GWT相对简单的语言可以帮助开发人员习惯于传统的最新技术[6]。Spring的Web MVC框架的设计围绕DispatcherServlet分派请求到处理器并且带有可配置的处理程序映射,视图转发,语言环境和主题解析以及对上传文件的支持的功能。默认的处理器是一个非常简单的控制器接口,只是提供一个ModelAndViewhandleRequest(请求、响应)方法。这已经可以用于应用程序控制器,但是你会更喜欢包括由实现层次组成的控制器,例如:AbstractController AbstractCommandCon-troller SimpleFormController。

应用控制器通常是上述控制器的子类。注意,您可以选择一个合适的基类:如果你没有一个表单,你不需要一个处理表单的控制器。这是和Struts的一个主要区别[7]。Spring MVC集成Spring Web Flow。Spring框架提供了一个功能齐全的MVC模块来构建Web应用程序。使用可以嵌入式的Spring MVC体系结构。

通过策略接口,Spring框架是高度可配置的,并且包含各种各样的视图技术,Spring MVC分离控制器,模型对象,转发器和处理对象的角色。这种分离使得他们更容易定制。MVC是 WEB项目开发的核心部分,分解的三个字,C(控制器)单独的V(视图、客户端)和M(模型、业务)构成MVC。Spring注释将简化我们的工作,通过使用注释的反射机制来解决大量的配置的问题。在配置文件中使用简单的语句,可以很容易地处理所有请求控制项目工作。当使用Spring MVC Java Web项目,使用Spring框架内置的过滤器CharacterEncodingFilter,解决编码混乱的问题[8]。Dispatcher servlet把Spring MVC联结在一起。这个servlet将被XML配置文件在web,.xml文件中注册并且将收到的所有HTTP请求。它有以下职责:首先,读取传入的请求并把请求委托到适当的控制器。其次,控制器解决视图,意味着将为首页视图的发一个请求。最后,控制器将告诉被解决的视图通过把模型传入到视图渲染输出。

MVC框架的优势:

  1. Spring 在控制器,JavaBean模型和视图提供了一个非常干净的分离
  2. Spring的MVC非常灵活。借助于嵌入自己实现的接口,Spring MVC框架的每一部分是可配置的。当然我们也提供便利类作为一个实现选项。
  3. Spring,像WebWork一样,提供了拦截器以及控制器,使其容易对待处理的请求做出相同的处理方式。
  4. Spring控制器通过Ioc容器和其他对象来配置。这使得他们容易测试和通过Spring与其他被管理的对象更漂亮集成在一起。
  5. 由于dispatcher servlet控制器避免了高内聚和显式依赖,Spring MVC web层通常比Struts web层更容易测试。
  6. Spring有定义良好的接口业务层。Spring的web MVC框架,就像许多其他web MVC框架基于请求驱动,围绕一个负责分派请求的servlet中心控制器设计,并提供其他功能,促进了web应用程序的开发。然而,Spring的DispatcherServlet不仅仅是这一点,它完全集成Spring IoC容器,因此允许您使用Spring的其他功能。

III. 电子学习系统的实现

正如图片1表明:在这片文章中提出了一种分层的和可扩展的电子学习系统。在图片一中,胖客户端部署并运行在用户的浏览器中服务器端层部署和运行在Java EE应用服务器, 两个之间的通信方式是Ajax。由GWT小部件提供的胖客户端是基于Ajax。本文提出的框架充分利用GWT技术的特点,并且得到进一步的强化和封装,这使框架更适合在特定的在线学习系统的设计和开发。

在图片一中,它是电子学习应用程序的框架。GWT服务跨越控制器和服务之间的界线,因为他们基本上提供HTTP处理能力的控制器和执行一些GWT序列化工作的结果服务层。DAO层包含的代码使我们的业务流程的结果持续化并且可以查询数据库。所有的业务逻辑都应该保存在服务层,因为这是它最可重用的地方。服务对象是简单的pojo对象。http请求对象用于控制器。同样, 在DAO层代码为了保持对象关系映射(ORM)。这是为了达到两个目的:首先,它提高了服务层的可测试性。直接从业务方法中访问数据库,当单元测试这些服务时我们需要访问数据库,它将使我们的单位测试复杂化。和DAO层注入mock DAO对象相反,这将使单元测试更容易。此外,如果我们需要切换数据库或决定使用一个不同的ORM工具,我们会有一个很好的缓冲去隔离这些变化的影响。

图一:电子学习系统框架

  1. 胖 UI客户端

客户端表示层负责前台的电子学习系统的界面显示,实现。其中包括两部分:一是HTML,CSS,照片和不需要GWT编译等;另一部分是Java接口代码则需要被翻译成JavaScript。前者是类似于B / S模式的发展,后者主要是负责管理和使用GWT的UI小部件。

为了体现富客户机的技术特点方面,数据缓存和逻辑计算功能应该在客户端逻辑层提供的客户端被提供。充分利用计算能力的客户端可以提高电子学习系统的响应时间和减少服务器端的负载。客户端应用程序的可维护性和可重用性可以明显的被提高通过设计在线学习的工具类系统来实现上述功能。

服务调用层通过服务层的服务器端负责调用服务并且把结果返回到客户端逻辑层和客户端表示层。换句话说,服务调用层在前台逻辑和后台逻辑之间解耦根据在这一层的每个YourService,一个YourServiceCalle类被设计。服务对象的建设和服务对象的访问操作是封装的,通过YourServiceCaller类确保客户端调用服务。在这一过程中,为了维护代码去实现集中控制的背景服务访问。

  1. 服务层

图二显示的是电子学习系统的GWT RPC服务扩展框架类图,通过扩展GWT的RPC框架,电子学习系统不仅实现了服务调用层和服务器端之间的通信,而且完成了整个系统的统一控制服务。如图二所示,根据GWT RPC扩展框架,下面的序列图(图3)提供了一个典型的GWT RPC机制和MySQL数据库之间数据流的调用。

图二:GWT RPC扩展框架的类图。

  1. 系统逻辑框架组件的交互

在架构的设计中,业务开发人员只需要开发五个类型的代码:uicontrol UIWidgct,Action,Dao和实体类。UI使用GWT框架,提供了UI开发“UI管理组件”和“UI小部件组件”。 UI管理组件有缓存管理功能:主要是管理的对象是:当前用户的信息,系统常量和系统常用的动态参数等等,主要为了避免在前台和后台频繁传输数据。“UI小部件组件”有树组件,对话框操作,分页框组件和抽屉组件,等等.开发者使用这些组件可以快速发展业务模块,不仅提高了开发的速度,也有利于在以后组件的积累,重用和维护。“UI小部件组件”主要负责渲染和输入控制接口,它不会调用后台服务。“UI控制器组件”主要负责后台服务数据是的交互,管理和调度Widget组件。

“Action组件”提供业务逻辑实现,如:公告信息的存储,先保存公告信息,然后提交审查。 Action必须使用接口来实现不同的设计模式,并遵循GWT AJAX调用规范,提供一个异步接口,Action需要注册在Spring配置文件中。

图3:在线学习系统的序列图

“GWTSpring集成组件”实现将GWT与Spring框架的集成。在图3,GWTSpringServlet是“GWTSpring集成组件”,它作为一个WEB应用程序服务统一听Servlet、uicontrol调用是由GWTSpringServlet路由和转发的后端服务。的GWTSpringServlet包含调用Spring容器包装,在WEB应用程序服务器启动时,读取Spring配置文件,初始化Spring容器。

“GWTSpring集成组件”实现自捕获GWT和Spring框架之间的关系。GWTSpringServlet是“GWTSpring集成组件”,是一个在WEB应用程序服务统一监听Servlet的服务,uicontrol调用由GWTSpringServlet发送和传输后端服务。

GWTSpringServlet包含调用和封装Spring容器,当WEB应用程序服务器启动时,读取Spring配置文件,初始化Spring容器。当uicontrol发送异步AJAX请求时,GWTSpringServlet告诉Spring容器并实例化相关的Action行动。当Spring初始化一个Bean实例,根据spring配置文件结构实例,注入依赖对象,如:Dao或其他Action。

在调用操作方法之前,Spring容器根据配置文件信息将决定开启一个事务,调用方法的行动终止后,Spring容器将决定提交一个有效的事务或者根据配置和代码执行回滚事务。因此,没有必要写任何句子关于事务的业务发展代码。uicontrol发送Action之后调用请求,用户可以操作其他接口,浏览器接收来自Action返回的结果,自动发送uicontrol。uicontrol得到结果后,呈现UIWidget组件接口。

  1. Hibernate and GWT序列化

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC有一个非常轻量级的封装,Java程序员可以操作数据库以面向对象编程的思想。Hibernate可以使用在任何情况下使用JDBC。它不仅可以用于Java客户机程序,而且在Servlet / JSP Web应用程序。最具革命性的是Hibernate可以取代CMP应用EJB的J2EE应用程序体系结构,完成数据持久性[9]。使用XML映射

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[153861],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 30元 才能查看全部内容!立即支付

发小红书推广免费获取该资料资格。点击链接进入获取推广文案即可: Ai一键组稿 | 降AI率 | 降重复率 | 论文一键排版