基于java实现的计算机考试系统 毕业设计论文.doc

上传人:小小飞 文档编号:3920398 上传时间:2019-10-10 格式:DOC 页数:77 大小:2.68MB
返回 下载 相关 举报
基于java实现的计算机考试系统 毕业设计论文.doc_第1页
第1页 / 共77页
基于java实现的计算机考试系统 毕业设计论文.doc_第2页
第2页 / 共77页
基于java实现的计算机考试系统 毕业设计论文.doc_第3页
第3页 / 共77页
基于java实现的计算机考试系统 毕业设计论文.doc_第4页
第4页 / 共77页
基于java实现的计算机考试系统 毕业设计论文.doc_第5页
第5页 / 共77页
点击查看更多>>
资源描述

《基于java实现的计算机考试系统 毕业设计论文.doc》由会员分享,可在线阅读,更多相关《基于java实现的计算机考试系统 毕业设计论文.doc(77页珍藏版)》请在三一文库上搜索。

1、 基于java实现的计算机考试系统摘要无纸化考试系统是现代教育的重要标志,让考试的结果更加的合理、公正、公平,也可以节约人力成本。高校在线考试系统,常用客户机服务器(CS)型的MIS型架构,或基于Web使用浏览器服务器 (BS)的架构。CS架构的在线考试系统,试题存放在远程服务器上,客户端安装考试应用程序和数据库客户机配置,每次考试时需对客户端进行安装、配置。而采用BS架构的考试系统,通过与BS结构的数据库管理系统结合可实现瘦客户机,系统维护仅需在服务器端进行。故开发了基于BS的在线考试系统。网络应用软件运行的模式主要有两类:CS和BS模式。前者主要的缺点是维护、升级相对比较麻烦,费用也比较高

2、;BS(BrowserServer)结构即浏览器和服务器结构。在这种结构下,用户工作界面是通过WWW 浏览器来实现,极少部分事务逻辑在前端 (Browser)实现,主要事务逻辑在服务器端(Server)实现。这样大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。本论文的内容就是设计一个基于java的B/S结构的计算机考试系统,可以基本实现学生、教师以及管理员所需要的功能。在这个B/S结构的设计中,学生通过计算机网络登入系统,实时提交解答。系统能保存结果,供教师披阅,并能自动根据条件对客观题进行判分,还能对分数进行统计、管理,协助教师找出教学中存在的问题,满足任

3、何授权的考生随时随地考试并迅速获得成绩的需求,同时也大大减轻了教师出题、监考和判卷等繁重的工作量。关键字:J2EE;java;MVC;在线;考试系统AbstractPaperless exam is an important symbol of modern education for this kind of exam make the result more reasonable, more just, and release human resource. The online exam system of university, usually uses the C/S MIS arc

4、hitecture, or based web use B/S architecture. In the exam system of C/S architecture, where the papers are stored in the remote Server and the Client must set up the exam application and configure the database, we must set up and configure the Client every time when do exam. However, the exam system

5、 using the B/S architecture can implement thin Client by combining the Management Information System. As system maintenance is only necessary at the sever end, our developed exam system is based on B/S architecture. WEB application software is either of C/S or B/S modes. The main disadvantage of the

6、 previous mode is the trouble of maintenance and update, and thus the charge is higher; the B/S architecture is composed of Browser and Server. In this architecture, the user interface is just implemented on WWW Browser, a little part of the transactions is implemented in Browser, and the main part

7、of transactions is implemented in Server. So the load of Client is reduced, and thus reduce the cost of maintenance and update, so as the whole cost.This graduate project is about the exam system based on java and B/S architecture. It has implemented the basic function needed by the student, teacher

8、 and administrator. In this B/S architecture project, students login the system through web, and commit the answers in real-time. The system can judge the paper and save the result, statistic, manage the points; help the teacher to find the problem in teaching. It allows any student which is authori

9、zed to subscribe to exam and gain the result at anytime or anywhere, and reduce the workload of the teacher for giving question, invigilation and judging paper.key words:J2EE;java;MVC;web;exam system目 录第1章 绪论91.1项目背景91.2计算机考试系统发展及现状91.3国内外发展现状91.4研究开发的目标和基本内容101.4.1 系统开发的主要任务和目标101.4.2 系统开发的基本内容111.

10、5 技术研究背景11第2章 系统技术介绍及应用132.1 JSP技术概述及工作原理132.1.1 JSP技术概要132.1.2 JSP的工作原理142.1.3 JSP与ASP的比较142.2 JDBC介绍162.3 MVC模式介绍182.4 Struts技术概述及工作原理192.4.1 Struts技术概述192.4.2 Struts的工作原理202.5 Hibernate技术概述及工作原理212.5.1 Hibernate技术概述212.5.2 Hibernate工作原理222.6 Tomcat应用服务器介绍232.7 MySQL数据库介绍252.7.1 数据库的历史和发展252.7.2 M

11、ySQL介绍252.7.3 MySQL的主要特性26第3章 系统需求分析283.1系统功能概述283.2权限与控制283.3系统业务流程分析293.3.1业务术语293.3.2业务流程293.4系统模块简介333.4.1登录模块333.4.2系统管理模块333.4.3科目管理模块343.4.4题库管理模块353.4.5试卷管理模块353.4.6帐户管理模块353.4.7考试管理模块363.4.8信息查询模块363.5系统开发环境36第4章 系统设计374.1系统整体架构设计374.2系统管理设计374.3题库管理设计434.4科目管理设计444.5试卷管理设计454.6帐户管理设计454.7考

12、试管理设计464.8信息查询设计474.9数据库设计48第5章 系统实现515.1 系统Model层实现515.1.1类AdminBean:515.1.2类SchoolBean:515.1.3类CollegeBean:525.1.4类ClassBean:525.1.5类TeacherBean:535.1.6类StudentBean:535.1.7类ExamBean:545.1.8类PaperBean:555.1.9类SubjectBean:565.1.10类TiankongBean:565.1.11类XuanzeBean:575.2系统数据访问对象DAO层实现585.2.1类AdminBean

13、DAO:585.2.2类SchoolBeanDAO:585.2.3类CollegeBeanDAO:595.2.4类ClassBeanDAO:595.2.5类TeacherBeanDAO:595.2.6类StudentBeanDAO:605.2.7类ExamBeanDAO:605.2.8类PaperBeanDAO:605.2.9类SubjectBeanDAO:605.2.10类TiankongBeanDAO:615.2.11类XuanzeBeanDAO:615.3系统中的ACTION类615.3.1类AccountAction:615.3.2类AccountManageAction:625.3.

14、3类SchoolAction:625.3.4类CollegeAction:635.3.5类ClassAction:645.3.6类TeacherAction:645.3.7类StudentAction:655.3.8类ExamAction:655.3.9类PaperAction:665.3.10类SubjectAction:675.3.11类QuestionAction:685.4系统中的视图层69第6章 总结77第1章 绪论1.1项目背景无纸化考试系统是现代教育的重要标志,这样的考试让考试的结果更加的合理,更加的公正、公平。也让不必要的人力从中解脱出来,去完成其它的一些事情。学生通过计算机网

15、络登入系统,实时提交解答。系统能保存结果,供教师披阅,并能自动根据条件对客观题进行判分,还能对分数进行统计、管理,协助教师找出教学中存在的问题,满足任何授权的考生随时随地考试并迅速获得成绩的需求,同时也大大减轻了教师出题、监考和判卷等繁重的工作量。鉴于现在大多数学校的计算机考试系统基本上都是C/S结构,对时间、地点以及考试规模都有很大的限制,而现在的大学里基本上的学生都人手一台电脑。如果将考试系统做成B/S结构的话就可以将没有这些方面的限制,可以进行大规模同时的考试,而且计算机可以方便的进行考试,不需要进行任何的客户端安装,只需要有一个浏览器。1.2计算机考试系统发展及现状20世纪50年代,电

16、子计算机和光电阅读机在大规模考试中的广泛运用促进了标准化考试的推广和普及。然而应当指出,这时的考试方法仍是传统的纸笔考试形式。到了2O世纪末,随着测试理论的完善、计算机的普及、多媒体技术的运用和经济的增长,测试界已清楚地看到单一的纸笔考试弊大于利。那么纸笔考试所暴露出来的问题该如何解决?标准化考试还要不要推行?于是专家们开始在测试的方法和手段上下工夫,国外的TOEFL如此,国内的CET亦然。这一变化竞来得如此之快,可以说是在向一个时代告别,即:计算机化考试时代的到来1。1.3国内外发展现状现在国内外都有许多的计算机考试系统,而CAT(computerized Adaptive Testing,

17、计算机自适应考试系统)是近年来测验研究中引人注目并取得了重大发展的领域。计算机化白适应测验(简称CAT)是在项目反应理论的基础上,建立题库,然后计算机根据被试的能力水平自动地选择测试题目,并对被试的所达到的能力的水平做出判断的一种全新的测验形式 2 。所谓自适应测验它的基本思想是“因人施测”,使不同水平被试者都能接受一组跟自己特质水平相适应的试题。所谓“自适应”就是测验本身要自动地适应被试的具体情况,在被试作答过程中及时根据作答资料估出被试的可能水平,并针对这一水平迅速决策,从大型题库中调取难度恰当、性能优良的题目继续施测。直到施测的题目足够多,测验信息量累计和达到指定值为止。如今在美国,CA

18、T已经在教育测验、职业测量、人事测评等领域中大显身手,如美国研究生入学考试(Graduate Record Examination)、工商管理类研究生入学考试(Graduate for Management and Administration Test)以及全美护士国家委员会资格考试(Nurse National Committee License Test)等都已采取了CAT的方式。在信息产业中,美国Novell公司于1991年成功的应用了CAT进行认证考试,使参加Novell自适应考试的人数超过1,000,000人次。在我国,已经出现一些应用型的研究,自行编制了一些CAT测验,并取得了实

19、际的运用效果,上海电大在上海市计算机应用能力的考试项目“VB6.0程序设计”中已采用了CAT的考试设计方法。江西师大小学数学CAT研究、华南理工大的“数据结构”自适应测试系统的研究也取得了一定的成果。自上世纪九十年代初期开始,全国大学英语四、六级考试委员会一直致力于项目反应理论和“计算机自适应测验”的研究和开发。1.4研究开发的目标和基本内容1.4.1 系统开发的主要任务和目标1、实现保存试题的数据库系统2、实现在线考试系统的服务器端及客户端3、了解试卷批改规则,实现客观题的自动判分4、实现系统成绩查询功能1.4.2 系统开发的基本内容1、提供数据库访问权限给不同人员进行试题库添加、管理,试卷

20、批改,答案输入;2、从试题库中生成难度的合理试卷;3、通过网络实现与考生的互动,随时增减试题难度,以便最大限度地考察学生水平;4、结合试题难度系数协助教师判分。1.5 技术研究背景J2EE是适用于创建服务器应用程序和服务的Java 2平台企业版Java2 Platform Enterprise Edition,J2EE),该技术的基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如“编写一次、随处运行”的特性,方便存取数据库的JDBC API、CORBA技术以及能够在Intemet应用中保护数据的安全模式等等,同时还提供了对EJB(Enterprise

21、 JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技术的全面支持3。J2EE使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据他们所在的层面分布在不同的机器上,解决了两层模式(clientserver)的弊端在传统模式中,客户端担当了过多的角色,可能第一次部署时比较容易,但难于升级,可伸展性也不理想,经常是基于某种专有的协议(通常是某种数据库协议),重用业务逻辑和界面逻辑非常困难现在J2EE的多层企业级应用模型将两层化模型中的不同层面切分成许多层,每个多层化应用能够为不同的服务提供一个独立的层面4。本系统采用J2

22、EE进行开发,J2EE特别适用于WEB开发,现在最流行的WEB开发模式是SSH(Struts+Spring+Hibernate)模式,Struts作为视图层,Spring作为控制层,Hibernate为模型层。这样写的程序有很清晰的分层,耦合度低,有利于开发和维护。这些框架可以为开发者提供一个简单易用的模型,采用一个经过良好设计的开源框架有很多好处:1、 开发者只需要写一些必须的代码。他们不需要直接接触底层的API。2、 经过良好设计的框架可以为程序提供清晰的结构并且提高程序的内聚性。清晰的结构使得其他人很容易加入项目。3、 一个容易适用的框架可以通过一些例子和文档为用户提供最佳实践。4、 使

23、用成功的框架的代码比自己的代码容易测试。框架应该在需要的时候才使用,不要为了使用框架而使用框架。所为我的这个系统使用的是Struts+Hibernate,这两个都是比较成熟的开源框架,通过Hibernate做OR映射和对数据库的访问。Struts做视图层,Struts的ActionServlet做控制层。第2章 系统技术介绍及应用2.1 JSP技术概述及工作原理2.1.1 JSP技术概要在开始介绍JSP之前,我先要介绍两个名词:组件和容器还有servlet。组件:组件是你的应用程序的的组体构件。它包括servlets、JavaBeans、JSP、HTML页面、EJBs以及其它类似的东西。容器:

24、容器是那些执行组件的应用程序。如果你的应用程序由JSP和servlet组件构成的,那么你就需要一个具有JSP支持的servlet容器(正式名称是servlet引擎);如果你的应用程序是有EJBs构成的,那就需要一个EJB容器。servlet:servlet是一种独立于平台和协议的服务器端的Java应用程序,可以动态的生成WEB页面。servlet由WEB服务器进行加载,该WEB服务器必须包含支持servlet的java虚拟机。JSP:JSP(java server pages)是由SUN公司在servlet基础上开发出来的一种动态网页制作技术,其可使您可以将网页中的动态部分和静态的HTML相分

25、离。您可以使用平常得心应手的工具并按照平常的方式来书写HTML语句。然后,将动态部分用特殊的标记嵌入即可,这些标记常常以“%”开始并以“%”结束。通常,您要将文件以“.jsp”为扩展名,并将它 放置到任何您可以放置普通WEB页面的路径下。尽管JSP文件看起来更象是HTML文件而不是Servlet文件,但,事实上,它恰恰将转换为 Servlet文件,其中的静态HTML仅仅用来输出Servlet服务方法返回的信息。如果JSP pages 已经被转换为Servlet且Servlet 被编译进而被装载(在第一次被Request时),当您再次Request 此JSP页面时,将察觉不到一瞬的延迟。JSP有

26、4个关键成分:指令(directive)、动作(action)、scriptlet和 标记库(tag library)。指令是指那些发送给JSP容器的消息,它使程序能够指定页面的设置、包含其它资源中的内容和指定JSP中使用的定制标记库。动作将功能封装在预定义的 标记中,然后程序员可以将它们(预定义标记)嵌入JSP中。通常根据发送给服务器的 特定客户请求中的信息来执行动作。它们还可以创建在JSP scriptlet中使用Java对象。Scriptlet,即脚本元素(scripting element),使程序员能够插入与JSP中的组件(和其它Web应用程序组件)进行交互的Java代码,以处理请求

27、。标记库是标记扩展机制的一部分,它使程序员能够创建定制的标记,这种标记使得程序员能够操作JSP内容。5 毕业设计(论文)网 QQ: 306826066 优秀毕业设计网 计算机毕业设计网 毕业设计资料网 毕业设计论文网 2.1.2 JSP的工作原理当用户第一次请求或者刷新一个JSP页面时,JSP容器首先是要找到这个JSP页面的源代码文件,然后开始处理,把这个JSP源文件翻译成java代码文件。当用户请求这个文件时,需要JSP容器来处理这个文件。62.1.3 JSP与ASP的比较一般说来,Sun 公司的JavaServer Pages(JSP)和Microsoft的Active Serve

28、r Pages(ASP)在技术方面有许多相似之处。两者都为动态网页的技术,并且双方都能够替代CGI 技术,使网站的开发时程能够大大缩短,在性能上也有较高的表现,更重要的一点是,两者都能够为程序员提供组件设计的功能,通过组件设计,将网页中逻辑处理部分交由组件负责处理(ASP 使用COM 组件、JSP则有JavaBean 组件),而和网页上的排版、美工分离。尽管Java Server Pages 技术和Active Server Pages(ASP)在许多方面都很相似,但仍然存在很多不同之处,其中本质上的区别在于:两者是来源于不同的技术规范组织。以下就来比较两大技术有哪些不同点,而又为各自带来哪些

29、优势。平台和服务器的弹性ASP (Active Server Pages)技术主要在微软(Microsoft)公司的Windows 平台上运行,其中包括Windows 2000、Windows XP 和Windows 2003,并且搭配其WEB 服务器IIS (Internet Information Services)。但是,在其他的平台运行时,不是性能低落,就是根本不支持,因此,当在开发网站系统时,选择NT+IIS+ASP的体系结构时,未来当系统无法负荷时,也只能继续选择Windows 平台的服务器,无法改写在性能表现相当优异的UNIX 平台上。JSP (Java Server Pages

30、)技术主要运行在操作系统上的一个Java Virtual Machine (JVM)虚拟机器上,因此,它能够跨越所有的平台,例如:NT、Windows 2000、Solaris、Linux、OS/390、AIX、HP-UX ,等等,除了能在各式各样的操作系统上执行,并且能搭配现有的WEB服务器:Apache、IIS、Netscape Enterprise Server ,等等,将静态的HTML网页交由执行速度较快的Web Server 处理,而动态产生网页的部分,就交由JSP Container 来执行。由上述可知,JSP (JavaServer Pages)技术在跨平台的表现比ASP来得更有

31、弹性。WEB 网页程序员未来在开发电子商务平台时,就不需要再考虑客户厂商的操作系统平台,可更专心于系统功能的开发。相应地,厂商在使用Java Server Pages 技术开发的系统平台时,不再需要担心未来在扩充软、硬件时,是否产生不兼容的问题。光这一点,就能为企业省下一大笔的费用,这是JSP 的主要优点。开放的开发环境自从1995 年,Sun 公司已经开放技术与国际Java 组织合作开发和修改Java 技术与规范。JSP应用程序接口(API)毫无疑问已经取得成功,并随着Java 组织不断扩大其应用的范围,目前全力发展Java 技术的厂商不胜枚举,例如:最近IBM 公司强力推广的WebSphe

32、re 家族,正是完全支持J2EE 标准而开发。数据库厂商Oracle 也发展自己的Application Server 来和自己公司本身数据库产品Oracle 9i 做一紧密的结合。那也更不用提Amazon 系统的供货商BEA 公司,它的产品WebLogic也是完全支持Java Server Pages技术和J2EE 规范的。相反,ASP 技术仅依靠微软本身的推动,其发展建立在独占、封闭的基础之上,并且微软本身的技术又只允许在微软相关平台的服务器上执行,因此,在标准方面显得有点力不从心。执行性能表现ASP 和JSP 在执行性能的表现上,有一段显著的差距,JSP 除了在一开始加载的时间会比较久外

33、,之后的表现就远远比ASP 的表现来得好。原因在于:JSP 在一开始接受到请求时,会产生一份Servlet 实体( instance ),它会先被暂存在内存中,我们称之为持续( Persistence ),当再有相同请求时,这实体会产生一个线程(thread)来服务它。如果过了一段时间都不再用到此实体时, Container 会自动将其释放,至于时间的长短,通常都是可以在Container 上自行设定的。而ASP在每次接收到请求时,都必须要重新编译,因此,JSP 的执行比每次都要编译执行的ASP要快,尤其是程序中存在循环操作时,JSP 的速度要快上1 到2倍。不过,ASP在这部分的缺陷,将随A

34、SP+的出现有所改观,在新版的ASP+技术中,性能表现上有很大的突破。72.2 JDBC介绍JDBC(Java DataBase Connectivity),是用于执行SQL语句的Java应用程序接口,是一套API集合,在这个集合中设置了许多允许Java程序连接数据库的框架。JDBC由一组用Java语言写成的类和接口组成,是一种连接不同数据库的规范,其宗旨是让各数据库开发商为Java程序员提供标准的数据库访问类和接口。JDBC与Java结合,使用户可以很容易的把SQL语句传送到任何关系型数据库中,程序员用它编写的数据库应用程序,可以在各种数据库系统上运行。8这是真正的可移植性的软件所必须具备的

35、一个特点。JDBC已经被业界普遍采用,而且是在Java在服务器端成功的主要贡献因素。JDBC驱动程序是依靠独立的软件公司开发的。JDBC驱动程序适合特定的数据库系统和数据访问模型,主要的那些数据库系统都有对应的的驱动程序,例如Microsoft、oracle、Informix、Sybase、Postgress、MySQL等等。JDBC与java应用程序和数据库的关系如图2.2所示.图2.2 JDBC与java应用程序和数据库的关系JDBC中的主要对象包括:class:- DriverManager - 驱动管理,获得连接interface:-Connection 连接对象-Statement

36、执行SQL语句-PrepareStatement 执行SQL语句,预编译,可带参数-CallableStatement 执行存储过程ResultSet 查询结果记录集ResultSetMetaData 记录集的元信息2.3 MVC模式介绍MVC是一种体系结构模式,代表ModelViewController,是应用于交互式系统的一种体系结构模式。MVC产生于20世纪70年代PaloAlto实验室的Smalltalk编程环境。MVC模式指导模块的职责分配和模块之间的通信协议。职责分配是面向对象分析和设计中最重要的工作,协议设计则是相当困难的工作。MVC为这两项工作提供了指导,所以意义重大。Mode

37、l是应用程序对象,也就是包含应用程序数据和业务逻辑的对象。Model对外表现为一个对象,实际上可以也应该是一组子对象的集合。传统意义上的View是屏幕对象,负责向用户显示交互界面。这个意义可以进行扩展,将View视为向外界展现应用程序状态的接口和界面。所有的用户输入都由Controller负责处理。在交互式系统中,Controller是导致Model发生变化的唯一原因,是导致View发生变化的两个原因之一,因此是控制中心。Controller将用户事件翻译成为请求,而不是命令。如果机械地遵循MVC的规则,Controller的逻辑将十分复杂。Controller通常需要查询View和Model

38、才知道如何处理用户输入。不要把所有逻辑写在Controller里。View和Model都是有智能的对象。可以通知它们,由它们自己决定应对的方式。一个应用程序或者组件只能有一个Model,但是这个Model可以对应多个View。View向Model注册,要求在Model的数据发生变化时获得通知消息。View得到通知消息之后,获取Model的相应数据,更新自己的显示。View不向Model发送消息。一个View对应一个Controller。View负责创建和初始化Controller,这也是View和Controller关系密切的原因之一。Controller接收用户输入,如果有与应用程序数据无关

39、,而只涉及显示变化的用户输入,Controller直接通知View。Controller和View关系密切的另一个原因是现代应用程序界面复杂,灵活多变。因此Controller需要大量了解View的情况,大量查询View的信息,距离太远不利于效率和灵活性,协议也很难设计,所以经常捆绑在一起。例如,目前基于控件的图形界面,很多控件实际上是一个封装好的MVC实体,通过属性、事件和方法与外界协同工作,强行拆分反而适得其反。因为一个Model对应多个View,一个View对应一个Controller,所以一个Model对应多个Controllers。Controller接收外部输入,是导致Model发

40、生变化的唯一原因。同时,Model的变化可能导致Controller行为的变化。9MVC模式如图2.3所示。图2.3 MVC模式图2.4 Struts技术概述及工作原理2.4.1 Struts技术概述Struts最初是由Craig R.McClanahan 创建的,然后在2000年用于Apache Software Foundation(ASF)的Jakarta项目。2001年6月,Struts1.0发布。那以后,很多人在源代码和文档方面对该项目做出过贡献,Struts得到迅速的发展。在Craig R.McClanahan将Struts用于Apache Jakarta项目的时候,Struts就

41、成为了开放源代码软件,任何人都可以通过http:/jakarta.apache.org/struts 下载到源代码。Struts是构建基于java的Web应用程序的首选框架。通过采用模型-视图-控制器(MVC)设计模式,使用Struts可以开发使用Java Servlets和JavaServer Pages的高性能、面向事务的Web应用程序,并可以解决诸多相关问题。首先,需要认识到Struts带来的不仅仅是编程的便利性,Struts还从根本上为Web编程人员构思和 构建Web应用程序提供了一种新的方式。在MVC体系结构中,中心Servlet(被称为控制器)接收所有应用程序的请求。然后控制器将对

42、请求进行处理,同时准备视图(通常是JSP)所需要的任何数据,并将此数据发给JSP。接着JSP使用由控制器准备的数据生成浏览器响应。本体系结构中,事务逻辑和显示逻辑彼此相互独立。10在struts框架中,模型分为两个部分:系统的内部状态 可以改变状态的操作(事务逻辑) 内部状态通常由一组ActinForm JavaBean表示。根据设计或应用程序复杂度的不同,这些Bean可以是自包含的并具有持续的状态,或只在需要时才获得数据(从某个数据库)。大型应用程序通常在方法内部封装事务逻辑(操作),这些方法可以被拥有状态信息的bean调用。比如购物车bean,它拥有用户购买商品的信息,可能还有checkO

43、ut()方法用来检查用户的信用卡,并向仓库发定货信息。小型程序中,操作可能会被内嵌在Action类,它是struts框架中控制器角色的一部分。当逻辑简单时这个方法很适合。 建议用户将事务逻辑(要做什么)与Action类所扮演的角色(决定做什么)分开。112.4.2 Struts的工作原理Struts应用程序的执行流如图2.4.2所示:图2.4.2 Struts应用程序的执行流1.浏览器向Struts应用程序发出请求,ActionServlet(控制器)对该请求进行处理。2.ActionServlet(控制器)用HTML表单填充ActionForm(视图)对象,并调用其validate()方法。

44、3.ActionServlet(控制器)执行Action对象(控制器)。4.Action(控制器)与模型组件一起为视图准备数据。5.Action(控制器)将控制权交给JSP(视图)。6.JSP(视图)使用模型数据生成对浏览器的响应。2.5 Hibernate技术概述及工作原理2.5.1 Hibernate技术概述现今的应用系统设计中,MVC作为主流系统架构模式之一,贯穿了 整个设计流程。MVC中的 M,也就是所谓的Model,则可以说是与业务逻辑和数据逻辑关联最为紧密的部分。而持久层作为Model层中的主要组成,其设计的优劣势必对系统的整体表现产生至关重要的影响。说到持久层设计就必须说到持久层

45、框架,现在有很多优秀的实现版本,其中ORM持久层框架,则是未来的主流。所谓ORMObject/Relational Mapper,从字面上理解是:对象关系型数据映射组件。在java发展的初级阶段,直接调用JDBC几乎是数据库访问的唯一手段。随着近年来设计思想和Java技术本身的演化,出现了许多JDBC的封装技术,这些技术为我们的数据库访问层实现提供了更多的选择,目前主流的JDBC封装框架包括:Hibernate、Apache OJB、iBatis,JDO以及J2EE框架中的CMP等。这些框架以优良的设计大大提高了数据库访问层的开发效率,并且通过对数据访问中各种资源和数据的缓存调度,实现了更佳的

46、性能。Hibernate提供了强大、高性能的对象到关系型数据库的持久化服务。利用Hibernate,开发人员可以按照Java的基础语义(包括关联、继承、多态、组合以及Java的集合架构)进行持久化开发。Hibernate提供的HQL(Hibernate Query Language)是面向对象的查询语言,它在对象型数据和关系型数据库之间构建了一条快速、高效、便捷的 沟通渠道。2001年末,Hibernate第一个正式版本对外发布,之后两年作者Gavin King以灵活快速的迭代发布,使得Hibernate快速发展起来。2003年6月8日,Hibernate2发布,提供了对大多数主流数据库的良好

47、支持,提供了完善的 数据关联、事务处理、缓存管理、延迟加载机制实现,同时堪称典范的开发文档(Hibernate Reference)也为广大用户提供了一份清晰易懂的参考手册。2003年末,Hibernate获得了Jolt2004大奖并且Hibernate被业内知名的开源组织JBoss收纳,成为从属于JBoss组织的子项目之一。这两个时间确立了Hibernate在Java ORM架构中的主导地位。122.5.2 Hibernate工作原理Hibernate的基础代码包括POJO和Hibernate映射文件。POJO在Hibernate语义中理解为数据库表所对应的Domain Object。这里的POJO是所谓的“Plain Ordinary Java Object”,指无格式普通Java对象,可以简单地理解为一个不包含逻辑代码的值对象,这样的类只包含字段的get和set方法。Hibernate是一种“对象关系型数据映射

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1