收藏 分销(赏)

学位论文-—2015年s2sh投票管理系统实现与.doc

上传人:胜**** 文档编号:2666268 上传时间:2024-06-04 格式:DOC 页数:57 大小:1.62MB
下载 相关 举报
学位论文-—2015年s2sh投票管理系统实现与.doc_第1页
第1页 / 共57页
学位论文-—2015年s2sh投票管理系统实现与.doc_第2页
第2页 / 共57页
学位论文-—2015年s2sh投票管理系统实现与.doc_第3页
第3页 / 共57页
学位论文-—2015年s2sh投票管理系统实现与.doc_第4页
第4页 / 共57页
学位论文-—2015年s2sh投票管理系统实现与.doc_第5页
第5页 / 共57页
点击查看更多>>
资源描述

1、哈尔滨工业大学S2SH投票管理系统摘 要网上投票系统凭借其方便快捷等特点已经成为统计收集信息不可或缺的工具,随着网络技术的发展网上投票系统的作用将会越来越大。在积极建立科学管理机制的今天,仅仅靠原始的手工管理或简单的单机管理,管理部门面对大量的信息,无法有效率地将其中的重要部分提取出来,并做出相应的判断和处理。投票管理者的决策只能依据手工表数据,在浪费大量人力、物力的同时无法做到实时监控,难以保证数据的准确性和及时性。因此,先进的管理思想就成为了一个可望而不可及的目标。投票非常急需一套既有先进管理思想的系统,作为实现目标和提高现有投票管理水平的一种重要手段。随着科学技术的不断提高,计算机科学日

2、渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,在先进的计算机技术、通信技术、控制技术及IC卡技术基础上,采用系统集成方法,逐步建立一个智能化的投票系统。本论文就建立一套完善的网上投票系统进行了详细全面的论述。访问本系统的用户分为会员和管理员两种角色。会员的主要功能有:查看投票内容,网上投票,查看系统公告,在线注册会员模块。系统中的管理员的主要功能有:投票内容管理,公告管理,会员的管理。关键字: 网上投票系统;JSP;S2SH哈尔滨工业大学S2SH Voting Management SystemAbstractThe onli

3、ne voting system by virtue of its convenience, has become an indispensable tool of statistical information collection, along with the development of network technology, the online voting system will play a more important role.Actively establish a scientific management system of today, only by the or

4、iginal manual management or simple single management, management department of information, cant efficiently extracted from one of the important part, and make the corresponding judgment and handling. The managers decision to vote only on the basis of the table data by hand, unable to do real-time m

5、onitoring in waste a lot of manpower, material resources and at the same time, it is difficult to ensure the accuracy and timeliness of data. Therefore, the advanced management thought becomes a miles away goals. System of voting is in urgent need of an already to have the advanced management concep

6、t, as a goal and an important means to improve the management level of the existing voting. With the continuous improvement of science and technology, computer science increasingly mature, its powerful features for people to have a profound understanding, it has entered the human society in various

7、fields and is playing an increasingly important role. As a part of computer application, the advanced computer technology, communication technology, control technology and IC card technology basis, a systems integration approach, and gradually establish a intelligent voting system.In this paper, we

8、establish a set of perfect online voting system in detail. Users to access the system is divided into two kinds of role membership and administrator. The main function of membership are: online voting poll, content, view the system announcement, online registration module. The main function of the s

9、ystem administrator: voting content management, bulletin management, membership management.Key Words: online voting system; JSP; S2SH哈尔滨工业大学目 录摘 要IAbstractII1 绪 论11.1 课题来源及意义11.2 国内外发展状况21.3 研究目标、内容21.3.1 前台模块31.3.2 后台模块:32 系统概述与技术介绍42.1 BS结构介绍42.2 SQL Server数据库42.3 MyEclipse介绍42.4 JavaScrip语言52.5 J

10、SP技术52.6 MVC模式62.7 SSH框架82.7.1 Struts框架92.7.2 Spring框架92.7.3 Hibernate框架103 需求分析113.1 开发环境113.2 需求分析113.3 可行性分析113.3.1 经济性113.3.2 技术性123.3.3 操作性123.3.4 法律性123.4 问题分析123.5 分析模型134 系统概要设计144.1 系统设计概述144.2 系统用例图144.3 系统流程图154.4 系统功能分析175 系统功能设计185.1系统功能模块的设计185.1.1 用户投票模块:185.1.2 管理员登录模块195.1.3 管理员添加投票

11、项目模块205.1.4 管理员删除投票项目模块:206 数据库设计与实现216.1 数据库结构设计216.1.1 表概要说明216.1.2 数据表的结构217 系统的实现247.1 前台首页设计247.2 网站导航设计247.3 投票信息展示模块257.4 用户注册模块设计267.5 网站公告展示277.6 后台登录页面277.7 投票信息管理307.8 公告信息管理337.9 退出后台管理358 系统测试368.1 测试方法368.2 测试原理、策略368.3 测试过程368.4 系统测试结果37总 结38致谢39参考文献40附录41附录A 外文文献 JSP application fram

12、eworks41附录B 中文翻译 JSP 应用框架50哈尔滨工业大学1 绪 论1.1 课题来源及意义 网上投票调系统是一种在网站上提出投票题目,由用户在线投票并对调查投票的统计结果直接显示的调查工具。网站管理方可以通过网上调查并对投票结果自动进行系统分析后得出有用信息,如浏览用户对某产品或服务的看法等,是企业利用网站低成本进行市场调查的重要手段。Internet是目前世界上最大的计算机互联网络,它遍布全球,将世界各地各种规模的网络连接成一个整体。作为Internet上一种先进的,易于被人们所接受的信息检索手段,World Wide Web(简称WWW)发展十分迅速,成为目前世界上最大的信息资源

13、宝库。如今,网络技术已经渗入到人们日常生活的每个角落,随处都可以看到网络的存在,随处都可以享受到网络给我们带来的方便。网络,不仅仅代表着一项技术、一种应用,更代表着一个时代、一种时尚。随着Internet的发展,Web技术日新月异,人们已经不再满足于静态HTML技术,更多的是要求动态、交互的网络技术。然而,在计算机网络中,任何方便实用的技术都必须建立在信息安全这块基石上。一项网络技术的安全性,也是决定着想技术成败的关键性的性质。而具有动态验证的网上投票系统既能使信息的保密性得到保证,又能确认投票者身份的有效性与唯一性,这样才能保证统计结果的真实有效。网上投票对象只能来源于网络的使用者,而目前这

14、部分使用者具有一定的特殊性,特别是在中国。据CNNIC 2006年9月公布的调查结果显示,我国互联网继续保持持续、稳定的增长态势。其中网民数、上网计算机数分别达到了11000万人、4950万台,与上年同期相比分别增长了18.1%和19.0%。在网民的特征结构方面,男性、未婚、30岁以下、大学本科以下、月收入在2000元及以下(含无收入)网民的比例依然在网民各特征数据中占据主要地位,所占比例分别为58.7%、57.9%、82.6%、70.8%、70.9%,其中未婚、30岁以上网民的比例与上年同期相比都有所上升,但男性网民比例、大学本科以下、月收入在2000元及以下(含无收入)网民所占比例与上年同

15、期相比有所下降;在职业方面,学生所占比例超过了总网民的三分之一,达到了35.1%,其次是企业单位工作人员,占总数的29.6%,排在第三位的是学校教师及行政人员,所占比例为7.3%,国家机关、党群组织工作人员所占比例为6.6%,事业单位工作人员所占比例为6.5%,其他职业的网民所占比例都在5.0%以下。随着Internet网正在向全世界各大洲延伸和扩散,Internet是一个国际性的通信网络集合体,它集现代通信技术和现代计算机技术于一体, 是计算机之间进行国际信息交流和实现资源共享的良好手段。Internet也是人类历史发展中的一个伟大的里程碑,它是未来信息高速公路的雏形,人类正由此进入一个前所

16、未有的信息化社会。人们用各种名称来称呼Internet,如国际互联网络、因特网、交互网络、网际网等等,已经成为世界上覆盖面最广、规模最大、信息资源最丰富的计算机信息网络。近年来,借助着Internet的蓬勃发展,伴随着信息化建设的推进,电子商务迅速崛起,其市场范围在全球急剧扩大,各发达国家都把发展电子商务作为拓展全球市场的有效手段,积极地参与协商和合作。当今社会作为一个飞速发展的社会,网络已渗入人们的生活,网络已成为信息传播的一大媒介,可以说网络资源的获取已逐步改变了人们以往的生活方式,网络已经成为人们日常工作,休闲的主要工具之一。从娱乐网站到官方网站,各种网上投票系统随处可见,意见调查,用户

17、信息统计,经营情况调查等都可以作为投票的内容,网上投票系统凭借其方便快捷等特点,已经成为互联网资源中不可缺少的一部分,并且,随着网络技术的发展,网上投票系统的作用将会越来越大。并且在投票的过程中网上投票系统对网络的要求也越来越高。原有的手工投票管理基本上是人工操作,效率低下,缺乏方便性,在线投票管理系统运用计算机和其他附加设备,不再需要手工操作,基本上是全自动化,能够节省人力、最大限度地利用各种宝贵的资源,大大的提高了效率。网上投票系统可以快速,真实的反应出你的投票结果和他人的投票结果,而不必等待最终结果。完全的真实性,每个人都可以看见自己的或者他人的投票的增加,防止了以往的暗箱操作。网络投票

18、系统应具有的独特的功能其一,方便的操作。原有的手工投票管理基本上是人工操作,效率低下,缺乏方便性,网络投票管理系统运用计算机和其他附加设备,不再需要手工操作,基本上是全自动化,能够节省人力、最大限度地利用各种宝贵的资源,大大的提高了效率。 其二,友好的界面。友好的用户界面会给人一种亲切的感觉,在使用起来不会觉得沉闷,效率自然也会提高了。其三,强大的功能,能够满足学校教学需要,快速简单的统计教学任务,提高教学质量。1.2 国内外发展状况随着计算机技术的飞速发展,尤其是网络技术的超速发展,带动了信息的广泛交流,人们每天需要大量的信息来充实自己,传统的投票和调查方式已经不能满足我们的需要,针对这种情

19、况,网上投票系统应运而生。网上投票系统除了能够完成传统的功能之外,更具有时效高和范围广的优点,更符合现代社会的需要。从国际互联网到校园网,企业局域网,各种网上投票系统随处可见,意见调查,用户信息统计,经营情况调查都可以作为投票的内容,网上投票系统凭借其方便快捷等特点,已经成为互联网资源中不可缺少的一部分,并且,随着网络技术的发展,网上投票系统的作用将会越来越大。据新闻报道,日本政府正投资10亿日元开发电子投票系统用于选举,荷兰、比利时和巴西等国家已经开始在部分地区使用网上投票系统,可见其巨大的发展潜力。1.3 研究目标、内容 网上投票系统的设计是采用JSP和SQL Server2000技术开发

20、的简易投票系统,并在用户登陆过程中设置动态验证码,提高系统的安全性。它实现了以下功能:投票、结果查看、增加、删除及搜索投票等。本论文首先介绍了网上投票系统的概念及和适用范围。在系统开发环境中主要对JSP、SQL和动态口令认证机制的基本概念作了详尽的介绍。接着通过E-R图说明数据库的搭建和数据库的设计。然后介绍了本系统的总体设计,包括:系统结构和总体功能设计。论文以功能模块图的形式说明了功能的设计并给出了部分核心代码及主要功能界面图。1.3.1 前台模块1用户注册:用户可以通过这一功能在网站上将自己的信息通过填写注册窗体的形式,发送到后台数据库中并存储,以便在网站上进行投票。用户注册功能能提高投

21、票信息的公正性和有效性,防止部分人员随意投票。2.用户登陆:用户注册后就可以在登陆框中输入正确的用户名和密码,便可登陆到网站。(1)进行投票:在“投票选项”中选中所选类别提交后,所选内容会存储在数据库中,并在投票管理页面中显示投票结果。(2)显示投票结果:用户提交投票信息后,数据存入数据库并计算出每个投票选项的所得投票数,并将投票数最多的那一选项的信息显示到此页面。1.3.2 后台模块:(1)管理员登陆:管理登陆之后才能管理投票信息。在此模块中同样引入了动态口令认证以保证安全。(2)设计投票管理主界面:当管理员登录成功后,会转到投票管理界面。在该界面可以进行以下操作:增加投票,删除投票,更新投

22、票信息。(3)增加,修改,删除投票:添加投票界面是管理员新建投票信息并存储在数据库中的媒介,并在投票管理界面中显示。2 系统概述与技术介绍作为一个投票网站,首先布局一定要新颖、有特色,只有这样才能引起用户的关注,最大限度的满足人们的需求,而且要有很强的交互性,交互性差的网站会让用户产生厌烦情绪。当然一个好的投票网站还要有很完整的处理信息的功能,以便及时的更新网站中的信息。通过对用户的调查和对现有的投票网站运行的流程分析,为了满足大多数用户的需求,所以我的目标是要构建一个页面简单清晰但包含信息相对全面、交互性强的网上投票系统。2.1 BS结构介绍本系统采用BS结构,即BrowserServer(

23、浏览器服务器)结构,就是只安装维护一个服务器(Server),而客户端采用浏览器(Browse)运行软件。它是随着Internet技术的兴起,对CS结构的一种变化和改进。主要利用了不断成熟的WWW浏览器技术,结合多种Script语言(VBScript、JavaScript)和ActiveX技术,是一种全新的软件系统构造技术。 在BS体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。而其余如数据请求、加工、结果返回以及动态网页生成、对数据库的访问和应用程序的执行等工作全部由Web Server完成。2.2 SQL Serv

24、er数据库因为本系统存放的信息数据量比较大的,因此我选择存放信息的数据库为微软的SQL Server数据库。SQL Server是微软公司推出的基于Windows的桌面关系数据库管理系统(RDBMS),是Office系列应用软件之一。SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。Microsoft SQL Server近年来不断更新版本,1996年,Microsoft 推出了SQL Server 6.5版本;1998年,SQL S

25、erver /7.0版本和用户见面;SQL Server 2005是Microsoft公司于2005年推出,目前最新版本是2012年3月份推出的SQL SERVER 2012。2.3 MyEclipse介绍本系统是跨越平台限制和跨越浏览器限制的充满动感的网页。构建网上投票系统所用的网页编辑器为MyEclipse, MyEclipse,是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyE

26、clipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate。2.4 JavaScrip语言Javascript是一种解释性的,基于对象的脚本语言,Javascript主要是基于客户端运行的,用户点击带有Javascript的网页,网页里的Javascript就传到浏览器,由浏览器对此作处理。它的代码可以直接嵌入到HTML命

27、令中,最大特点是可以方便操纵网站上的元素,并与Web浏览器交互,同时JavaScrip可以捕捉用户操作并作出反映。JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。JavaScript的一个重要功能就是面向对象的功能,通过基于对象的程序设计,可以用更直观、模块化和可重复使用的方式进行程序开发。在HTML基础上,使用Javascript可以开发交互式Web网页。Javascript的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃

28、的元素和更加精彩的内容。在本系统中很多地方使用了javascript技术,比如说,检验用户输入数据的有效性,是否重复,是否为空等等。2.5 JSP技术JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据

29、库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与Servlet一样,是在服务器端执行的,通常返回给客户端就是一个HTML文本,因此客户端只要有浏览器能浏览。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。JSP技术的优点:(1)一次编写,到处运行。除了系统之外

30、,代码不用做任何更改。 (2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/.net的局限性是显而易见的。 (3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。 (4)多样化和功能强大的开发工具支持。Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下(5)支持服务器端组件。web应用需要强大的服务器端组

31、件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。JSP可以使用成熟的JAVA BEANS 组件来实现复杂商务功能。内部对象说明:request 客户端请求,此请求会包含来自GET/POST请求的参数; response网页传回客户端的响应;pageContext 网页的属性是在这里管理; session 与请求有关的会话; application servlet正在执行的内容;out 用来传送响应的输出流; config代码片段配置对象;pageJSP网页本身; exception针对错误网页,未捕捉的例外。2.6 MVC模式为了满足系统对先进性、安全

32、性、跨平台性、可扩展性、可移植性、分布式等方面的要求,系统总体架构设计采用先进的基于java的B/S的三层体系结构。MVC是三个单词的缩写,分别为: 模型(Model),视图(View)和控制Controller)9。 MVC模式的目的就是实现Web系统的职能分工。Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。 View层用于与用户的交互,通常用JSP来实现。 Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。Web浏览技术已经广泛地应用于Inte

33、rnet,并被广大用户接受和使用。Web技术是随http和html一起出现的。Web服务器利用http传递html文件,Web浏览器使用http检索html文件。Web服务器一旦检索到信息,Web浏览器就会以静态和交互(如文本、图像)方式显示各种对象。在电子商务业务进行过程中,需要在各种贸易角色之间浏览和交换各种信息,此时就要使用Web浏览技术。 这种模型使系统结构更加清楚,分工更加明确,有利于整个系统后期的维护和升级。MVC(Model View Controller)模型(model)视图(view)控制器(controller)MVC本来是存在于Desktop程序中的,M是指数据模型,V

34、是指用户界面,C则是控制器。使用MVC 的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据你可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。模型视图控制器(MVC)是Xerox PARC在八十年代为编程语言Smalltalk80发明的一种软件设计模式,至今已被广泛使用。最近几年被推荐为Oracle旗下Sun公司Java EE平台的设计模式,并且受到越来越多的使用 ColdFusion 和 PHP 的开发者的欢迎。模型视图控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点。 三层体系结构由浏览器、web服务

35、器和数据库组成,并结合HTML语言、jsp、JavaScript脚本语言、Ajax、ODBC等技术,后台的数据库采用微软的SQL Server 2005,系统一般的MVC模型如图2-1所示。 图2-1 系统MVC结构图如图1-1可知,用户界面层是用户和整个系统的接口,客户端只需安装通用的浏览器即可建立与本系统的连接。业务逻辑层负责处理用户输入的信息,或将这些信息发送给数据库层进行保存,或调用数据库层中的函数再次读出这些数据。数据访问层是整个分层体系的最底层,它主要用来实现与数据库的交互,即完成查询、插入、删除和修改数据库中数据的功能MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分

36、开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。分层概念视图,模型,控制器。视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Macromedia Flash和象XHTML,XML/XSL,WML等一些标识语言和Web services。如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图

37、来讲,它只是作为一种输出数据并允许用户操纵的方式。模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象EJBs和ColdFusion Components这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。MVC模型还可以实现软件工程的高内聚,低耦合的终极目标。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定

38、调用哪个模型构件去处理请求自己本身并不参与业务逻辑处理,然后再确定用哪个视图来显示返回的数据。MVC的优点:1)低耦合性2)高重用性和可适用性3)较低的生命周期成本4)快速的部署5)可维护性6)有利于软件工程化管理2.7 SSH框架SSH 为 struts+spring+hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业

39、务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate。具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的Java对象,然后编写基本的DAO(Data Access Objects)接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,最后由Spring做管理,管理struts和hibernate。系统的基本业务流程是: 在表示层中,首先通过JSP页面实现交互界面,负责传送请求(Request)和接收响应(Response),然后Struts根

40、据配置文件(struts-config.xml)将ActionServlet接收到的Request委派给相应的Action处理。在业务层中,管理服务组件的Spring IoC容器负责向Action提供业务模型(Model)组件和该组件的协作对象数据处理(DAO)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。而在持久层中,则依赖于Hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果。如图2-2所示:图2-2 SSH框架分层采用上述开发模型,不仅实现了视图、控制器与模型的彻底分离,而且还实现了业务逻辑层与持久层的分离。这样无论前

41、端如何变化,模型层只需很少的改动,并且数据库的变化也不会对前端有所影响,大大提高了系统的可复用性。而且由于不同层之间耦合度小,有利于团队成员并行工作,大大提高了开发效率。2.7.1 Struts框架Struts对Model,View和Controller都提供了对应的组件。ActionServlet,这个类是Struts的核心控制器,负责拦截来自用户的请求。Action,这个类通常由用户提供,该控制器负责接收来自ActionServlet的请求,并根据该请求调用模型的业务逻辑方法处理请求,并将处理结果返回给JSP页面显示。Model部分:由ActionForm和JavaBean组成,其中Act

42、ionForm用于封装用户的请求参数,封装成ActionForm对象,该对象被ActionServlet转发给Action,Action根据ActionForm里面的请求参数处理用户的请求。JavaBean则封装了底层的业务逻辑,包括数据库访问等。View部分:该部分采用JSP(或HTML、PHP)实现。Struts提供了丰富的标签库,通过标签库可以减少脚本的使用,自定义的标签库可以实现与Model的有效交互,并增加了现实功能。对应上图的JSP部分。Controller组件:Controller组件有两个部分组成系统核心控制器,业务逻辑控制器。系统核心控制器,对应上图的ActionServle

43、t。该控制器由Struts框架提供,继承HttpServlet类,因此可以配置成标注的Servlet。该控制器负责拦截所有的HTTP请求,然后根据用户请求决定是否要转给业务逻辑控制器。业务逻辑控制器,负责处理用户请求,本身不具备处理能力,而是调用Model来完成处理。对应Action部分。2.7.2 Spring框架Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可

44、以从Spring中受益。目的:解决企业应用开发的复杂性功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能范围:任何Java应用简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。轻量从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。控制反转Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会

45、通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。面向切面Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的完成业务逻辑仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。容器Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建基于一个可配置原型(p

46、rototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。框架Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持。2.7.3 Hibernate框架Hibernat

47、e是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五个核心接口分别加以介绍。Session接口:Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSession对象称为用户session。SessionFactory接口:SessionFac

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服