基于Spring MVC和Hibernate的课程计分系统的实现外文翻译资料

 2023-07-26 10:07

Implementation of Course Scoring System Based on Spring MVC and Hibernate

Abstract

With the growing complexity of enterprise applications, maintainability and extensibility became an expensive task. Model-View-Controller (MVC) architecture became a solution to these problems as it isolates the application logic from the presentation layer. Spring MVC became popular as it realized the MVC architecture for developing enterprise level applications. Hibernate is a powerful, high performance Object-Relational Persistence and Query service for Java applications. Applications developed using Spring MVC and Hibernate are complete, modular and easy to use. In this project, a Course Scoring System is implemented based on both Spring MVC and Hibernate architectures. JSP, HTML and CSS are used in the presentation layer, Spring MVC handles the application logic and Hibernate manages the data persistence. The system can be used to organize a teacher selection competition at the University level. Assigning of judges/ voter, registration of teachers to a competition, assigning scores to the teachers and winner selection are the different features of the application. This project would be a good reference for anyone trying to gain practical knowledge about Spring MVC and Hibernate architectures and build a real time web application using them.

Table of Contents

Chapter 1 INTRODUCTION 11

Chapter 2 TECHNOLOGY OVERVIEW 14

    1. Spring Framework 14
    2. Spring MVC 16
      1. Spring MVC Architecture 17
      2. Features of Spring MVC framework 18
      3. Advantages of Spring MVC framework 19
    3. Hibernate 20
      1. Hibernate Architecture 21
      2. Features of Hibernate 23
      3. Advantages of Hibernate 23

Chapter 3 COURSE SCORING SYSTEM 24

    1. System Functionality 24
    2. System Design 26
      1. Use Case Diagrams 26
      2. Statecharts 35
      3. Use Case Realization (Scenarios and Sequence Diagrams) 39
      4. Class Diagrams 67
      1. Application Architecture 76
    1. Application Screenshots 78

Chapter 4: CONCLUSION 88

References 89

Bibliography 90

List of Tables

Table 1: Login use case description for the Course Scoring System 27

Table 2: Manage Competition Details use case description for the Course Scoring System 28

Table 3: Manage Users use case description for the Course Scoring System 29

Table 4: Register Teacher use case description for the Course Scoring System 30

Table 5: Query Scores use case description for the Course Scoring System 32

Table 6: Assign Score use case description for the Course Scoring System 33

Table 7: Vote for better Teacher use case description for the Course Scoring System 34

Table 8: lsquo;Admin login - Successrsquo; scenario of Login use case 41

Table 9: lsquo;Admin login – Failurersquo; scenario of Login use case 42

Table 10: lsquo;Judge login – Successrsquo; scenario of Login use case 44

Table 11: lsquo;Judge login – Failurersquo; scenario of Login use case 45

Table 12: lsquo;Voter login – Successrsquo; scenario of Login use case 46

Table 13: lsquo;Voter login – Failurersquo; scenario of Login use case 47

Table 14: lsquo;Create New Competitionrsquo; scenario of Manage Competition Details use case 48

Table 15: lsquo;Update Competitionrsquo; scenario of Manage Competition Details use case 50

Table 16: lsquo;Delete Competitionrsquo; scenario of Manage Competition Details use case 51

Table 17: lsquo;Update Teacher Orderrsquo; scenario of Manage Competition Details use case 53

Table 18: lsquo;Create New Userrsquo; scenario of Manage Users use case 54

Table 19: lsquo;Update User Inforsquo; scenario of Manage Users use case 56

Table 20: lsquo;Search Usersrsquo; scenario of Manage Users use case 57

Table 21: lsquo;Register New Teacherrsquo; scenario of Register Teacher use case 58

Table 22: lsquo;Edit Teacher Inforsquo; scenario of Register Teacher use case 60

Table 23: lsquo;Query Competition Summaryrsquo; scenario of Query Scores use case 61

Table 24: lsquo;Assign Scores to Teachersrsquo; scenario of Assign Score use case 63

Table 25: lsquo;Select Winnerrsquo; scenario of Vote for better Teacher use case 65

List of Figures

Figure 1: Modules of Spring Framework 14

Figure 2: High level view of request processing workflow in Spring MVC 16

Figure 3: Spring MVC Architecture 17

Figure 4: ORM Mapping Concept 20

Figure 5: Role of Hibernate in Java application 21

Figure 6: Hibernate Architecture 22

Figure 7: Use Case diagram for the Course Scoring System 26

Figure 8: Login use case for the Course Scoring System 27

Figure 9: Manage Competition Details use case for the Course Scoring System 28

Figure 10: Manage Users use case for the Course Scoring System 29

Figure 11: Register Teacher use case for the Course Scoring System 30

Figure 12: Query Scores use case for the Course Scoring System 31

Figure 13: Assign Score use case for the Course Scoring System 33

Figure 14: Vote for better Teacher use case for the Course Scoring System 34

Figure 15: Complete Statechart of the Course Scoring System 36

Figure 16: Statechart of the Admin Subsystem 37

Figure 17: Statechart of the Judge Subsystem 38

Figure 18: Statechart of the Voter Subsystem 38

Figure 19: Different Classes for the Course Scoring System 40

Figure 20: Interaction of Classes to realize the Login use case 41

Figure 21: Sequence diagram for lsquo;Admin login – Successrsquo; scenario 42

Figure 22: Sequence diagram for lsquo;Admin login – Failurersquo; scenario 43

Figure 23: Sequence diagram for lsquo;Judge login – Successrsquo;

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


基于Spring MVC和Hibernate的课程计分系统的实现

摘 要

随着企业应用程序日益复杂,可维护性和可扩展性成为一项昂贵的任务。模型-视图-控制器(MVC)体系结构将这些应用程序逻辑与表示层隔离开来,成为了解决这些问题的方法。 Spring MVC因为它实现了用于开发企业级应用程序的MVC体系结构变得流行起来,。 Hibernate是针对Java应用程序的强大,高性能的对象关系持久性和查询服务。使用Spring MVC和Hibernate开发的应用程序是完整的,模块化的,易于使用的。在这个项目中,基于Spring MVC和Hibernate体系结构实现了一个课程评分系统。表示层中使用JSP,HTML和CSS,Spring MVC处理应用程序逻辑,使用Hibernate管理数据持久性。该系统可用于组织高校一级别的教师选拔比赛。评委/选民的分配,参加竞赛教师的注册,教师的评分分配和优胜者的选择是应用程序的不同功能。该项目对于任何试图获得有关Spring MVC和Hibernate架构的实践知识并使用它们构建实时Web应用程序的人来说都是一个很好的参考。

目 录

第一章引言 1

第二章技术概述 2

2.1 Spring框架 2

2.2 Spring MVC 4

2.2.1 Spring MVC架构 5

2.2.2 Spring MVC框架的功能 6

2.2.3 Spring MVC框架的优势 6

2.3 Hibernate 6

2.3.1 Hibernate体系结构 7

2.3.2 Hibernate的功能 8

2.3.3 Hibernate的优势 9

第三章课程评分系统 9

3.1系统功能 9

3.2系统设计 10

3.2.1用例图 10

第四章:结论 53

参考文献 54

第一章引言

在传统的基于Java的Web应用程序中,Java服务器页面(JSP)负责所有活动,如接收请求,处理业务逻辑,选择下一页并将响应发送回用户。因此,对应用程序功能的微小更改将需要对现有JSP代码进行更改,这可能会更容易导致回归错误(代码的一部分更改会导致代码其他部分出现错误)。随着企业应用程序复杂性的增加,这种方法对应用程序的维护和扩展变得昂贵。作为该问题的解决方案,模型视图控制器(MVC)体系结构获得到了流行。

在MVC架构中,应用程序的不同方面如下:

(1)模型部分由应用程序数据组成

(2)视图部分负责呈现模型数据并生成HTML输出成浏览器可以显示的

(3)控制器负责处理用户请求,建立适当的模型和将它们传递到视图以进行渲染

在MVC架构中,如果需要更改业务逻辑,则不需要更改视图部分,反之亦然,从而增强了应用程序的可维护性和可扩展性。当Struts2和Spring MVC着两个框架在它们实现了这种用于构建企业级应用程序的MVC架构后变得流行起来。

在这个项目中,Spring MVC比Struts2框架更受青睐,因为它具有一些通用性

与Struts2框架相比的优势:

(1)Spring MVC明确区分了控制器,JavaBean模型之间的角色和意见。

(2)Spring MVC提供了与JSP以外的其他视图技术更好的集成,例如速度,FreeMarker等

(3)Spring MVC中所需的配置数量少于Struts2中的配置数量,提高开发效率。

(4)根据设计,Struts2构成类级别的拦截器,Spring MVC构成方法级别的拦截器。Struts2注入了Action所在类的所有属性,但是Spring MVC仅注入了当前Action的请求数据。因此,Spring MVC的运行效率高于Struts2。

(5)Struts2对控制器施加了依赖关系(必须扩展Struts类),但是Spring MVC不会这样做,而是可以根据需要扩展便利性控制器。

(6)Struts2强制将Action和Form对象转换为具体的继承关系(删除了因为在Java中只能显式继承一个类,所以可以继承更多的期望类),但是Spring MVC基于接口,因此可以更灵活地继承期望的类。

尽管MVC架构框架解决了许多开发问题,但是直接与数据库连接的应用程序仍然是应用程序性能的瓶颈。原因是像Java和C#这样的面向对象的语言以对象的形式表示数据,而传统的数据库系统以表的形式存储数据。因此,从面向对象的语言到传统数据库系统的数据存储和检索非常复杂且效率低下任务。作为一种有效的解决方案,对象关系映射(ORM)框架变得越来越重要。 ORM是一种将应用程序对象映射到数据库中存储的数据的编程技术。换句话说,它们在对象和数据库之间引入了直接映射机制。 Hibernate就是这种项目中使用的一种ORM解决方案。由于Hibernate具有对各种关系数据库的内置支持,因此将来可以轻松地将该应用程序配置为使用其他关系数据库。

可以在大学级别使用应用程序“课程评分系统”来组织老师给定课程的选拔比赛。该系统的设计基于这两个框架的集成,因此具有Spring MVC和Hibernate架构所提供的优势。应用功能基于论文“基于Struts和Spring和Hibernate Architecture的高质量课程评分系统的设计和实现”中提出的思想[1]。

该应用程序的功能包括用户管理(法官/选民/管理员)和竞赛,竞赛中教师的注册,为教师分配分数,如果竞赛结束时与获胜职位并列,则最终投票选出更好的老师。

本文档的其余部分安排如下:第2章概述了Spring和休眠框架。第3章介绍课程评分系统的系统设计和功能,以及应用程序屏幕截图。第4章总结了该项目,并提出了可能的未来增强功能。最后,列出了该项目的参考。

第二章技术概述

本章介绍有关Spring和Hibernate框架的详细信息-它们的概述,功能和优点。本章的第一部分介绍了Spring框架,第二部分介绍了Spring MVC框架,第三部分介绍了Hibernate框架。

2.1 Spring框架

Spring是一个开放源代码框架,旨在解决企业应用程序开发的复杂性。它是轻量级的,处理开销可以忽略不计,并且使用Java Bean。由于具有分层架构,因此它是模块化且完整的。基于Spring的应用程序是松散耦合的,其中它们的依赖性在配置文件中列出并由框架注入。 Spring框架是模块的集合,允许程序员选择其应用程序所需的模块。

Spring框架提供的不同模块如图1所示。改编自《 Spring Framework参考文档》 [2]。

图1:Spring框架的模块

下面提供了最常用的Spring模块[2]的简要说明:

核心模块提供控制反转,依赖注入等基本特征。

  1. Bean模块是工厂模式的实现。
  2. 上下文模块是访问定义和配置的任何对象的媒介。
  3. SpEL模块是统一表达语言的扩展,用于操作运行时的对象图。
  4. JDBC模块提供了JDBC抽象层,从而无需使用程序员编写复杂的代码来处理数据库特定的错误代码。
  5. ORM模块为JPA,Hibernate和
  6. iBatis。
  7. OXM模块提供了一个支持对象/ XML映射的抽象层JAXB,JiBX和XStream的实现。
  8. JMS(Java消息服务)模块为基于消息的消息提供了基础应用程序。
  9. 事务模块为事务管理提供了声明式支持。
  10. Web模块提供基本的面向Web的集成功能,例如Inversion of使用Servlet侦听器控制容器的初始化。
  11. Web-MVC模块提供了Spring的模型视图控制器(MVC)实现开发Web应用程序。
  12. Web-Socket模块提供了对基于Web套接字之间的通信的支持Web应用程序中的客户端和服务器。
  13. Web-Portlet模块描述了Web-Servlet模块的功能并具有MVC在portlet环境中使用的实现。
  14. AOP模块提供了面向方面的编程,可以清晰地解耦实现不同的功能。

测试模块提供了使用JUnit框架测试Spring组件的支持。

2.2 Spring MVC

Spring MVC是Spring框架的Web模块。 它是基于模型-视图-控制器(MVC)架构的开源框架,用于构建健壮且松散耦合的应用程序。

总体而言,Spring MVC中的请求处理工作流程如图2所示。

该图改编自“ Spring Framework参考文档”[2]。

Spring MVC在域模型代码和Web表单之间提供了清晰的分隔,并允许使用Spring Framework的所有其他功能。 Spring MVC中的请求处理工作流程如下:

  1. 前端控制器(或DispatcherServlet)接收用户请求。
  2. 前端控制器将用户请求移交给相应的控制器处理请求并将模型(应用程序数据)移交给前端控制器。
  3. Front Controller现在将模型传递给View Template并接收从视图模板渲染数据(以生成输出响应)。
  4. 输出响应由Front Controller传递到用户的浏览器。

2.2.1 Spring MVC架构

Spring MVC基于处理所有HTTP请求和响应的中央Servlet(调度程序Servlet)的概念而构建。

Spring MVC架构如图3所示。该图改编自“ Spring MVC架构” [3]。 Spring使用以下五个组件来实现MVC [3]:

  1. Spring的Dispatcher Servlet:在Spring MVC中用作前端控制器基于应用程序。它充当应用程序与其客户端之间的中介。对应用程序的所有请求均由Dispatcher Servlet处理,该Servlet查阅Handler映射以确定应为特定请求调用哪个控制器。
  2. 处理程序映射:这将为给定请求找到合适的控制器。可以使用XML配置或注释将URL映射到控制器类。
  3. 控制器:如果需要,它使用其他业务类处理给定的请求。它返回模型对象和逻辑视图名称,这些名称可以呈现模型对象中存在的信息。
  4. View Resolver:它返回的物理名称(完全限定名称和位置)逻辑视图名称中的视图。

查看:这些可以是html或JSP页面。来自模型对象的信息是呈现,并将响应发送回分派器servlet,该服务器为客户端浏览器提供服务。

2.2.2 Spring MVC框架的功能

Spring MVC提供了各种Web支持功能[2],如下所述:

  1. 明确区分角色:每个角色-控制器,命令对象,表单对象或DispatcherServlet可以由专门的对象提供服务。
  2. 适应性和灵活性:可以通过使用定义任何控制器方法签名参数注释之一(例如@ RequestParam,@ RequestHeader,@ PathVariable等)。
  3. 灵活的模型传递:带有键/值映射的模型传递有助于轻松集成任何视图技术。
  4. 代码可重用性:现有业务对象可以作为命令或表单对象重用而不是为特定类重新创建对象。
  5. 集成的MVC模式:MVC的特殊注释允许代码分离在服务或存储库等组中进行分组,并使其更容易使用依赖项注入来加载和测试它们。
  6. 框架和应用程序类的强大配置有助于简化操作跨上下文引用对象,例如将Web控制器引用到业务对象和验证器。
  7. 提供了拦截器和控制器,可轻松配置处理许多请求所共有的行为。

2.2.3 Spring MVC框架的优势

下面列出了Spring MVC [2]的主要优点:

预定义的模板:它提供了Hiber

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


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

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

课题毕业论文、文献综述、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。