一种自定义Java Web框架的设计与实现

 2022-01-17 11:01

论文总字数:19430字

目 录

第一章 绪论 1

1.1 课题背景 1

1.2 国内外的研究现状 1

1.3 本文的主要研究内容和组织结构 1

1.4 本章小结 2

第二章 框架相关技术 2

2.1数据库 2

2.2 MVC设计模式 3

2.3 控制反转(IoC)和依赖注入(DI) 3

2.4 ORM框架 4

2.5 Maven技术 4

2.6 单元测试技术 5

2.7 本章小结 5

第三章 框架相关技术原理 5

3.1 MVC设计模式 5

3.3 ORM框架 8

3.4 本章小结 8

第四章 现有框架整合搭建 8

4.1 spring Bean管理环境实现 9

4.2 struts2 整合spring环境配置 9

4.3 web.xml 文件配置 9

4.4 Hibernate 整合是spring环境配置 10

4.5本章小结 10

第五章 自定义框架系统设计 10

5.1系统架构组成说明 10

5.2系统架构组成图 11

5.3 列表框架设计思路 11

5.4 框架项目结构 12

5.5 项目结构说明 12

5.6 列表框架流程图 13

5.7 列表框架配置设计 13

5.8 本章小结 14

第六章 系统框架的功能测试和实例Demo 14

6.1测试准备 14

6.2测试结果 17

6.3本章小结 17

第七章 总结 18

参考文献 18

致谢 19

一种自定义Java Web框架的设计与实现

陈杰

, China

Abstract:With the continuous upgrading of the Internet technology, the background management system has become an integral part of more and more business functions. However, each one of our management system seems actually the same. We will find a large number of repetitive processes . For data persistence layer C (Create), R (Retrieve), U (Update), D (Delete), CRUD operation. The presentation layer data, summary information is often a list just like a form. The functions to modify information is often in some specific page. Other functions are often attached to the trunk of the list.So, My design is to integrate some mainstream web framework, based on some main functions, to achieve a complete list of the framework which is the main frame of background management system. The main technologies includeStruts2, spring3, spring MVC, hibernate, Oracle 12C database.

Keywords: web framework; CRUD; struts; spring

第一章 绪论

1.1 课题背景

随着互联网技术的不断发展以及现代办公的自动化,各种各样的后台管理系统已经成为现在各个公司所不可或缺的一部分了。然而,每个公司所涉及的业务不同,它所需要管理的数据也不尽相同。这就导致了,针对不同的业务场景,我们需要开发不同的管理系统。比如学生管理系统,图书管理系统等等。随着技术的升级,发展速度不断加快,如果我们不提高自己的开发效率,缩短开发的周期和上线的时间,那么这些管理系统就会成为公司发展的累赘,甚至是开始的阻碍。所以,我就想到了能否抽象出公共的部分来复用,以框架的形式来减少时间上的成本。

值得庆幸的是,当今有很多非常成熟的框架体系可以供我们使用。并且,这些框架的部分功能是可以相互融合来到达我们的需求的。

1.2 国内外的研究现状

国外对于Web框架的研究已经相当成熟,主流的包括Web中间件Spring MVC,Struts ,Struts2 等等。对于数据的持久化,主要流行的框架有Hibernate 和Mybatis等。对于数据的页面展示技术,有很多前端的框架与技术,其中很普遍的一个是jsp页面展示技术。但纯就技术而言,这些框架包括从安全性,扩展性等方面都发展的相当成熟了。

但是针对国内互联网发展的现状,如电子商务,互联网金融等等,很多都会运用到这些主流的框架来开发后台管理系统。但是,所运用的并不是这些主流框架的全部技术。往往很多公司都是运用其中的某些关键功能,然后进行二次开发。由于互联网行业的特性,在这个开发的过程中,可以抽象出很多类似的,甚至相同的功能需求。这其实就造成很多资源上的浪费,同时效率上的降低。

1.3 本文的主要研究内容和组织结构

目前国内公司所运用的Web开发技术大同小异,涉及到的Web开源框架包括Struts2,Spring,Hibernate等等。公司在开发初期搭建管理系统内部框架的时候,往往会花大量的时间来整合这些开源框架,然后再进行基础功能的核心开发。在这些基础设施搭建完毕后,才会进行核心业务的开发。然而从公司利益的角度出发,更快地部署业务,更快地上线服务是一个公司所愿意看到的。

所以,本设计目的就是研究如何可以提供一个让公司可以快速部署业务,缩短上线时间的框架。本着这个目的,主要内容可以划分成以下几个方面。

1.调查目前公司所运用的开源框架和技术有哪些。

2.整合这些运用比较频繁的框架技术,并以此作为设计的基础框架。

3.在基础框架上进行二次开发,针对偏向业务方向的运用进行基础架构。实现一个可以让公司开发人员“0”代码开发就可以使用业务的框架。

4.对开发好的框架进行调试,完善框架功能。然后运用框架进行Demo开发。

本文的组织结构如下:

第一章:介绍课题的产生原因,以及目前国内外的研究现状

第二章:大概介绍本研究所运用的相关技术。

第三章:详细介绍本研究所运用到的相关技术细节。

第四章:将spring框架,struts2框架,Hibernate框架进行必要的功能整合,给出具体的整合方案。

第五章:在整合的框架基础上,设计本次研究的核心,自定义的列表框架功能。给出相关的设计方案和思路。

第六章:进行系统框架测试,验证核心列表框架功能,并且使用本次设计的框架进行开发,模拟使用框架开发。

第七章:对于本次的研究进行总结,总结研究中的问题和不足,并对本框架进行展望。为以后的框架的不断完善和开发提供经验教训。

1.4 本章小结

本章主要讲述了本次设计出现的背景。针对目前管理系统的开发的场景,本文总结出了一套比较通用的解决方案。设计的目的旨在提高开发初期的效率以及业务管理的快速实施,缩短管理系统上线周期,减少企业初期的运营成本。

第二章 框架相关技术

本章主要介绍本次设计所运用到的技术概述,以及所采用的相关技术的具体功能。通过本章,可以了解到本框架的技术选型,也方便今后在拓展框架功能是处理兼容性问题。

2.1数据库

随着信息技术的快速发展,数据库在信息化的现代扮演起越来越重要的角色。总体来说数据库发展经历了这几个阶段:网状、层次数据库系统,关系数据库系统,以面向对象数据模型为特征的数据库系统。随着大数据时代的到来,分布式系统以及相关技术的迅速发展,一种新的数据库系统--NoSQL数据库,及非关系型数据库,等等。

其中,目前运用最为普遍的数据库类型为关系型数据库,主流的关系型数据库有mysql,sqlserver,oracle等等。关系型数据的优点主要有以下几点:

1.关系形式的表达更加直观的反应数据之间的关系。

2.由于关系型数据的各种约束和关系,可以很好的保证数据的一致性。

3.关系型数据比较符合人的直观感受,也更加符合开发的思想模式。

关系型数据库在现如今也渐渐开始显现出弊端。比如,在数据量膨胀如今,关系型数据的查询效率渐渐下降。对于复杂的数据关系,或者数据种类繁多的情况,关系型数据已经越来越不能满足现实的需求。考虑到关系型数据库的这些缺点,开发者在开发的时候,往往会考虑sql性能优化,程序逻辑优化等等,来缓解这方面的劣势。

综上,本系统采用目前企业运用比较广泛的Oracle数据库。

2.2 MVC设计模式[1]

MVC,即M(MODEL),V(VIEW),C(CONTROLLER),是一种Web应用开发中运用比较广泛的一种设计模式。准确的来说,MVC更可以说是一种框架模式。主要用来分离开发的各个模块流程。

视图层主要负责与用户直接交互的界面。在Web应用中,视图层涉及到的技术包括JavaScript,JSP,html等等。视图层是最容易分离的一层,因为这一层关心的绝大部分是数据的展示,用户的体验等等与业务逻辑不太相关的部分。并且随着Web应用的复杂度不断上升,对于前端的展示要求也变得越来越多,这就使得分离出视图层作为单独的一个模块变得尤为重要。这样,负责视图层的开发可以专心于前端的相关技术。对于其余两层,他只需要关系需要传递的参数和返回的结果形式就可以了。

模型层(Model),即业务逻辑层,主要负责系统业务逻辑的实现。这一层是一个系统真正的核心所在。对数据的存取,数据的处理操作等等都需要这一层来完成。这一层分离出来的原因是,业务是一个企业的核心,完成业务功能往往涉及两个方面。一是完成业务所需要处理数据的业务逻辑,另一个就是满足处理业务的性能要求。而这两点往往需要占用开发人员大量的时间来设计实现。如果没有分离出来,而是与其他的模块杂糅在一起,那么开发的效率将会更低。从这个角度来看,业务逻辑层的分离也显得十分必要。

控制层(Controller),顾名思义用来控制用户的请求交由什么业务逻辑来处理,以及处理结果交由什么视图来显示。控制层的角色意义可以看做是一个组装者。实际上,一个完整的业务功能就是若干的小的业务规则的组合,而控制这些业务组合方式的模块就是控制层。

剩余内容已隐藏,请支付后下载全文,论文总字数:19430字

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

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;