




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于web的在线考试系统2008/05/02基于web的网上考试系统内容目录27271 绪论52开发方案62.1问题分析62.2 项目目的72.3 方案选择82.4 开发框架技术153 需求分析183.1 任务概述183.2 功能需求概述193.2运行环境234系统设计234.2 数据库设计274.3 系统模块部分设计325关键技术解决475.1系统架构与数据库的连接476结束语517参考文献528【abstract】on-line examination system the aim is carry out examination of have no the paper tur
2、n a management, can carry on through internet net or bureau area net to some examinations of categories, convenient school square test the management of duty, also convenient the ex2008/02/02aminee is particularly suitable for examinee to distribute widely and not easily concentrated of long range e
3、ducation.i mainly develop the system-java of the backstage management's on-line examination management sub- system of system and it includes to try the management, on-line creation of a management, examinee to try book, control the constitution that the student examine and try an examination and
4、 approval etc. function.this thesis mainly introduced to manage the analysis, design of the sub- system and all processes of the development to java's on-line examination.make use of er diagram, procedure flow chart etc. to on-line manage the design process of sub- system to carry on expatiation
5、.the full text is totally divided into the design, key technique of the analysis, system of the development project, need to solve, conclusion five part.develop the main introduction in the project develops on-line examination system purpose, development project of choice and development frame of th
6、e assurance of technique;the need analysis introduced the total need of the on-line examination system and the function request of each mold of system piece;the system design introduced the design, system mold of the instruction thought, database of system design the design of the piece;the key tech
7、nique introduced at concrete carry out need some techniques for solve, such as development frame of integration technique, development frame with the database link and the backup and revivification of data.559后记55 摘要 在线考试系统旨在解放教师传统教学中制作试卷时的困惑,对一些考生不集中的考试,比如一些认证式的网上考试就比较适合这种在线考试的方式,不仅方便了制作试卷的流程,更重要的是
8、实现了无纸化,适应可持续发展的战略思想。我主要开发系统的后台管理系统java在线考试管理子系统,它包括试题管理、考生管理、在线制作试卷、控制学生考试的设置等功能。本论文主要介绍了对java在线考试管理子系统的分析、设计和开发的全部过程。全文共分为开发方案、需求分析、系统设计、关键技术解决,结论五部分。开发方案中主要介绍开发在线考试系统得目的、开发方案的选择及开发框架的技术的确定;需求分析介绍了在线考试系统的总体需求及系统各模块的功能需求;系统设计介绍了系统设计的指导思想、数据库的设计、系统模块的设计.关键词 jsp; java; oracle 9i数据库; b/s模式 目录1 绪论 现阶段,学
9、校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出卷,考生考试,人工阅卷,成绩评估和试卷分析.显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要.随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户.人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证! 这个方案在技术上来讲我们是采用b/s模式,自动给每个
10、考生生成一份试卷,考生在线作答,考试结果数据通过网络回收,系统自动进行判分,生成考试成绩和统计数据。“在线考试系统”是集合现代考试理论、方法和现代信息技术手段的智能化网上考试系统,为学生个性化学习提供“灵活、方便、科学、公平”的“个别化考试服务”,是终结性评价系统。学生可以随时、随地进行课程结业考试。2 开发方案2.1问题分析传统的学校教学中,进行一场考试,要求老师刻试卷、印试卷、安排考试、监考、收集试卷、评改试卷、讲评试卷和分析试卷,这是一个繁杂的过程,需要大量人力、物力与时间的投入,已经越来越不适应学校信息化建设与现代教学的需要。尤其在远程网络教学中,学生分布广,不易统一集中安排考试,给校
11、方和学生带来了众多的不便。而在线考试系统,正是信息化建设的产物,它是传统考场的延伸。它可以利用互联网络和局域网,随时随地的对学生进行考试,加上数据库技术的利用,大大简化了传统考试的过程,因此在线考试是电子化教学的不可缺少的辅助手段。在当今信息时代,计算机技术与网络技术越来越广地应用于各个领域,改变着人们的学习、工作、生活乃至思维方式,也引起了教育领域的重大变革。将计算机与网络技术应用于现代高等教育中,是现代高等教育发展的需要,也是改革教育模式,提高学校教学效果和教学效率、提高科研和管理水平的必要手段。2.2 项目目的在线考试系统的总体目标:1 在线考试系统可以帮助教师完成一个考试从题目设计,考
12、试安排,考试实施,考卷批改到分数统计总结的所有工作。2所有的考试数据和其它数据库需要一种主流的方式进行存储和管理,例如使用数据库技术。3对考试的系统目标:这个软件是分布式的,这意味着只要有考试客户端可以连接到考试应用服务器,任何考生在任何地方进行身份确认,都能完成考试。题目最好有一定的稳定性和随机性。稳定性可以保证每一次考试对每一个考生是公平的,随机性可以避免作弊的发生。2.3 方案选择1、 开发在线考试系统,提出以下解决方案:选择oracle 9i作为后台的数据库,选择java、jsp、javascript、html作为应用程序开发工具,运用tomcat服务器技术,整个系统完全基于b/s (
13、browser/server)模式进行设计。2、 java简介 java是sun公司推出的新的一代面向对象程序设计语言,特别适合于internet应用程序开发。java的产生与流行是当今internet发展的客观要求,java是一门各方面性能都很好的编程语言,它的基本特点是简单、面向对象、分布式、解释的、健壮的、安全的、结构中立的、可移植的、性能很优异的、多线程的、动态的,特别适合在internet环境上开发的应用系统。3、 web应用程序开发环境jsp技术jsp的全称是java server pages,它是sun推出的一种动态网页技术标准。它在传统的静态页面文件(*.html,*.htm)
14、中加入java程序片段和jsp标记,就构成了jsp页面。jsp具有以下的优点:a) 将业务层与表示层分离:使用jsp技术,网络开发人员可充分使用html来设计页面显示部分(如字体颜色等),并使用jsp指令或者java程序片段来生成网页上的动态内容;b) 能够跨平台:jsp支持绝大部分平台,包括现在非常流行的linux系统,应用非常广泛的apache服务器也提供了支持jsp的服务;c) 组件的开发和使用很方便:如asp的组件是由c+,vb等语言开发的,并需要注册才能使用;而jsp的组件是用java开发的,可以直接使用;d) 一次编写,处处运行:作为java开发平台的一部分,jsp具有java的所
15、有优点,包括write once , run everywhere.4、 tomcat应用服务器目前支持jsp的应用服务器是较多的,tomcat是其中较为流行的一个web服务器,被javaworld杂志的编辑选为2001年度最具创新的java产品,可见其在业界的地位。 tomcat是一个免费的开源的serlvet容器,在tomcat中,应用程序的部署很简单,你只需将你的war放到tomcat的webapp目录下,tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的jsp时,通常第一次会很慢,因为tomcat要将jsp转化为servlet文件,然后编译。编译以后,访问将会很快
16、。tomcat也具有传统的web服务器的功能:处理html页面。但是与apache相比,它的处理静态html的能力就不如apache。我们可以将tomcat和apache集成到一块,让apache处理静态html,而tomcat处理jsp和servlet。tomcat是一个很好的工具,不仅仅因为其免费,功能强大,更因为其开放性,越来越受到人们的重视。5、 oracle 9i 数据库服务器是解决信息管理的主要工具。一般情况下,服务器必须在多用户环境中管理大量的数据,使得多个用户能够并行访问数据。所有这些必须能够在高性能的情况下完成,数据库服务器必须防止未经授权的非法访问,保护敏感数据,同时,为故
17、障恢复提供解决方案。为此,oracle服务器提供了以下特性:l 客户服务器环境l 大型数据库和空间管理l 多个并行数据库用户l 连接性l 高事务处理能力l 控制安全性l 开放的、基于工业标准l 管理安全性l 数据库完整性增强l 兼容性l 分布式系统l 复制环境 6、 b/s 开发模式伴随着internet的迅速发展,计算机技术正在由基于c/s(client/ server)模式的应用系统转变为基于b/s模式的应用系统。过去,网络软件的开发都采用c/s(client)模式,在这种模式下,主要的业务逻辑都集中于客户端程序,因此,必然导致以下问题:a) 系统安装、调试、维护和升级困难。由于客户端的硬
18、件配置可能存在差异,软件环能各不相同,因此,在安装时,必须对每一个客户端分别进行配置,同样,在软件升级时也要对客户端分别处理。b) 在整个系统中,业务逻辑和用户界面都集中到了客户端,必然会增加安全隐患。b/s模式带来了巨大的好处:a) 开发成本及维护成本降低。由于b/s架构管理软件只安装在服务器端(server)上,即应用程序在部署、升级、维护时,只需要在服务器端进行配置就可以了,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(server)端完全通过www浏览器实现,极少部分事务逻辑在前端(browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。b) 良
19、好的安全性能,防火墙技术可以保证后台数据库的安全性。所有的配置工作都集中在服务器端且所有客户端请求都是通过dbms来访问数据库,从而大大减少了数据直接暴露的风险。2.4 开发框架技术对于框架技术,我们采用struts+hibernate的整合,其实任何一种框架都可以完成我们的项目,但我们选择两种框架的组合是因为两种框架各有好处,我们利用它们的优点,来避免它们的缺点,充分利用java技术在web的应用。l struts是应用比较广泛的一种表现层框架struts是一个为开发基于模型(model)视图(view)控制器(controller)(mvc)模式的应用架构的开源框架,是利用servlet,
20、jsp和struts标签库构建web应用的一项非常有用的技术。由于struts能充分满足应用开发的需求,简单易用,敏捷迅速。它使用服务层框架可以将javabeans从jsp/servlet中分离出来,而使用表现层框架则可以将jsp中剩余的javabeans完全分离,这部分javabeans主要负责显示相关信息,一般是通过标签库(taglib)实现,不同框架有不同自己的标签库,struts是应用比较广泛的一种表现层框架。l hibernate通过持久层的框架将数据库存储从服务层中分离出来它是o/r mapping的一种实现是目前在java界使用非常广泛的o/r mapping的一种实现,可以实现
21、关系型数据库和对象之间的映射。用来开发数据库系统非常方便,可以将数据库和程序的设计融合在一起。表现层和服务层的分离是通过两种框架达到目的的,剩余的就是持久层框架了,通过持久层的框架将数据库存储从服务层中分离出来就是其目的,持久层框架有两种方向:直接自己编写jdbc等sql语句(如ibatis);使用o/r mapping技术实现的hibernate和jdo技术;当然还有ejb中的实体bean技术。hibernate的工作原理是通过文件把值对象和数据库表之间建立起一个映射关系,这样,我们只需要通过操作这些值对象和hibernate提供的一 些基本类,就可以达到使用数据库的目的。例如,使用hibe
22、rnate的查询,可以直接返回包含某个值对象的列表(list),而不必向传统的jdbc访问方式一样把结果集的数据逐个装载到一个值对象中,为我们的编码工作节省了大量的劳动。hibernate提供的hql是一种类sql语言,是提供对象化的数据库查询方式,但hql在功能和使用方式上都非常接近于标准的sql3 需求分析3.1 任务概述在线考试管理子系统主要实现题库管理、教师管理、教学管理(包括班级管理和考生管理)、考试管理等功能,充分利用计算机科学与技术和web框架,改变传统的考试操作方式,实现无纸化考试与自动化相结合的考试模式。3.2 功能需求概述(1) 系统需要解决的主要问题我主要开发
23、的是后台管理子系统中的题库管理,教师管理和管理员管理,在此系统中我们主要对后台考试系统的进行管理和设置。我们将子系统分为以下功能模块:题库管理:在管理员权限下,对预定的十六门科目可以进行考题的增加和管理,管理主要包括按科目查询试题和删除试题。教师管理:分为添加教师,管理教师,管理教师主要包括按姓名查询教师信息和教师的删除和修改。考试管理:主要是人工组卷。由管理员设置考试科目及题目数量,该设置可以控制监考老师的考试科目的试题范围,只有管理员设置的科目监考教师才能组织考生考试,否则监考教师没有出题权限,这样可以避免试题泄露,保证了试卷的安全,也保证了考试的公正性和可靠性。教学管理:主要是对班级和考
24、生的增,删,改,查。管理员管理:主要是管理员的自管理。系统管理:管理员安全退出。其中由我负责的题库管理和教师管理的功能需求说明如下:3.2.1 功能需求说明在线考试系统部分功能分析1 题库管理1.1 增加考题在addexam.jsp页面添加一个考题,考题用作考生考试试题,当添加成功后,跳转回addexam.jsp,并发出消息通知用户试题添加成功。详细描述:1 需要判断所添加题目是否已填写完全(包括题目,选项,答案和科目) 2 判断当前session范围内是否存在一个包含选项内容的非空字符串 3 将用户录入的试题封装成一个moban类,按照不同科目存入对应表中具体步骤:1 实现admindaoi
25、mpl.java中的addkaoti()方法 2 创建addoptaction 实现add()和addkaoti()两个方法,其中add()是用于选项的追加,addkaoti()用于考题的封装 3 创建addexam.jsp1.2 管理考题 在modifyexam.jsp页面,用户可以通过下拉菜单中的十六个科目选项中任意选择一个,进行考题的查询,选中后会在下方以表格形式显示所选考题的题号和题目名,也可以删除所选中的试题具体步骤:1 实现用于分页显示的page.java 2 实现modifyexamaction.java 3 实现deleteexamaction和showexamaction 4
26、 实现adminserviceimpl.java中的delexam()方法,按题号删除2 教师管理2.1 添加教师 在addexam.jsp页面中添加教师,这里添加的教师包括了普通任课教师和监考教师这里没有区别对待详细描述: 1 添加成功显示成功信息,失败显示失败信息 2 无论成功或是失败都跳回到content1.jsp页面进行刷新具体步骤: 1 实现admindaoimpl.java中的updateteacher()方法,添加教师 2 实现adminserviceimpl.java中的updateteacher()方法 3 创建addteacher.jsp2.2 管理教师 在listteac
27、her.jsp页面中,用户可以通过教师姓名进行查询,查询支持模糊查询,也可进行教师信息的修改。详细描述: 1 需要判断教师是否存在于数据库中,如不存在则返回到查询页,如存在则把教师信息返回显示具体步骤: 1 实现admindaoimpl.java中的selectteacherbyname(),delteacher()和selectteacher()方法 2 创建selectteacheraction和deleteteacheraction 3 创建listteacher.jsp 4 实现adminserviceimpl.java中的delteacher方法 5 创建showteacheract
28、ion用于教师信息显示3 管理员管理3.1 管理员信息修改 在showadmin.jsp页面中,可修改管理员的信息,管理员信息包括管理员姓名和密码详细描述: 从adminform中获得修改后信息,进行管理员信息的更新处理具体步骤: 1 实现admindaoimpl.java中的updateteacher()方法 2 实现adminsericeimpl.java中的updateteacher()方法 3 创建mdifyadminaction实现管理员信息的更新3.2运行环境l 硬件需求: piii/256m/10g 及以上配置,要求为考试系统分配足够的数据库磁盘空间l 推荐配置: piv 2g/
29、512m/40gl 操作系统需求: sun solaris等linux操作系统 ( 推荐 ) ,也可以使用 windows2000 等 win系列操作系统l 数据库软件需求: oracle 9i/10g ( 推荐 ) ,也可以使用 sql server 2000 或mysql数据库l 中间件软件需求:apache tomcat/5.0.28系列服务器4 系统设计4.1 系统结构图4.1.1 本系统分为学生前台子系统、教师子系统、监考教师子系统和管理员子系统,整个系统的结构图如下:4.1.2 系统的用例图如下:4.2 数据库设计4.2.1 主要数据库表的介绍 根据系统需要和考试需要,设立了如下数
30、据库表:各种题库表:我们只设置了一种类型的题,即选择题,有十六个科目存储在十六个表中,表结构均一致:用于保存所添加题的题目,选项,答案和科目。学生表:用于保存学生的考号,姓名,所在班级,登录密码,上线状态(1为在线),还有分数。成绩表:用于存储学生的考试成绩。4.2.2 主要数据库表的结构主要表结构如下:物理名称:examstate(考试状态表) 字段名 字段类型 约束或索引 描述idnumberpk记录流水号statenumber记录考试状态(1提交0未提交)物理名称:state(记录在线表) 字段名 字段类型 约束或索引 描述idnumberpk记录流水号statenumber记录登录状态
31、(1在线0离线)物理名称:student(学生表)字段名 字段类型约束或索引描述idnumberpk记录流水号kaohaovarchar2考号namevarchar2学生姓名banjivarchar2班级passwordvarchar2学生密码statenumber考试状态1-在线0下线scorenumber分数物理名称:teacher(教师表)字段名 字段类型约束或索引描述idnumberpk记录流水号namevarchar2教师姓名passwordvarchar2教师密码statenumber考试状态1-在线0下线物理名称:jteacher(监考教师表)字段名 字段类型约束或索引描述idn
32、umberpk记录流水号namevarchar2监考教师姓名passwordvarchar2监考教师密码statenumber考试状态1-在线0下线物理名称:admin(管理员表)字段名 字段类型约束或索引描述idnumberpk记录流水号namevarchar2管理员姓名passwordvarchar2管理员密码statenumber考试状态1-在线0下线物理名称:chengji(成绩表)字段名 字段类型约束或索引描述idnumberpk记录流水号kaohaovarchar2考号namevarchar2学生姓名banjivarchar2班级kechengvarchar2课程maxscoren
33、umber总分scorenumber分数物理名称:banji(班级表)字段名 字段类型约束或索引描述idnumberpk记录流水号namevarchar2班级名称numnumber班级人数classvarchar2所在的教室名称timevarchar2开课的时间题库表物理名称:nuix字段名 字段类型约束或索引描述idnumberpk记录流水号questionvarchar2题目optvarchar2选项answervarchar2答案其它十五个题库表结构和上例一致,分别为java表,oracle表,xml表,jdbc表,hibernate表,servlet表,html表,jsp表,strut
34、s表,ajaxjsf表,ooaduml表,ejb表,spring表,webservice表,plsql表4.3 系统模块部分设计4.3.1 用户登录:首先选择登录人身份:考生:对于管理员已添加的考生,可根据自己的考生号和密码登录,登录界面如下:教师:对于管理员已添加的教师,可根据该教师的教师号和密码登录,登录界面如下:监考教师登陆界面: 监考教师,可根据该教师的教师号和密码登录,登录界面如下:管理员:管理员根据管理员号和密码登录,登录界面如下:根据不同身份,登录不同界面,添好登录信息后点击“登陆”按钮;登录信息都正确,登陆成功,进入系统各个用户界面;主要代码:loginaction.javap
35、ublic actionforward execute(actionmapping mapping, actionform form,httpservletrequest request, httpservletresponse response) loginform loginform = (loginform) form;student student = null;adminservice adminiservie =(adminservice) beanfactory.getbean(beanfactory.fadminservice);studentdao studentdao =
36、(studentdao) beanfactory.getbean(beanfactory.fstudentdao);studentservice studentservice = (studentservice) beanfactory.getbean(beanfactory.fstudentservice);integer admin =integer.parseint(request.getparameter("ss");if(null!=admin&&admin.equals(3)return adminlogin(mapping,form,reque
37、st);if(null!=admin&&admin.equals(1)return teacherlogin(mapping,form,request);if(null!=admin&&admin.equals(2)return jteacherlogin(mapping,form,request);try student = studentservice.login(loginform.getloginname(); if(null = student) request.setattribute("message", "该考生不存
38、在!");throw new serviceexception(); if (!loginform.getloginpassword().equals(student.getpassword() request.setattribute("message", "密码不正确!"); throw new serviceexception(); request.getsession().setattribute("student", student); examstate state = adminiservie.getexams
39、tate(); if(state.getstate()=0)return mapping.findforward("chengji"); student.setstate(1); student.setscore(0); studentservice.update(student); catch (serviceexception e) e.printstacktrace();return mapping.findforward("false");return mapping.findforward("true");private a
40、ctionforward jteacherlogin(actionmapping mapping, actionform form, httpservletrequest request) loginform loginform = (loginform) form;adminservice adminservice = (adminservice) beanfactory.getbean(beanfactory.fadminservice); admindao admindao = (admindao) beanfactory.getbean(beanfactory.fadmindao);t
41、ry teacher teacher = adminservice.loginteacher(loginform.getloginname(); if(null = teacher) request.setattribute("message", "这个监考教师不存在!");throw new serviceexception(); if (!loginform.getloginpassword().equals(teacher.getpassword() request.setattribute("message", "密
42、码不正确!"); throw new serviceexception();list list = admindao.selectbanji();request.getsession().setattribute("banjiall", list); request.getsession().setattribute("teacher", teacher); return mapping.findforward("jteacher"); catch (exception e) e.printstacktrace(); ret
43、urn mapping.findforward("false");private actionforward teacherlogin(actionmapping mapping, actionform form, httpservletrequest request) loginform loginform = (loginform) form;adminservice adminservice = (adminservice) beanfactory.getbean(beanfactory.fadminservice);try teacher teacher = adm
44、inservice.loginteacher(loginform.getloginname(); if(null = teacher) request.setattribute("message", "这个教师不存在!");throw new serviceexception(); if (!loginform.getloginpassword().equals(teacher.getpassword() request.setattribute("message", "密码不正确!"); throw new se
45、rviceexception(); request.getsession().setattribute("teacher", teacher); return mapping.findforward("teacher"); catch (serviceexception e) e.printstacktrace(); return mapping.findforward("false");public actionforward adminlogin(actionmapping mapping, actionform form,htt
46、pservletrequest request)loginform loginform = (loginform) form;adminservice adminservice = (adminservice) beanfactory.getbean(beanfactory.fadminservice);try admin admin = adminservice.login(loginform.getloginname(); if(null = admin) request.setattribute("message", "这个管理员不存在!");th
47、row new serviceexception(); if (!loginform.getloginpassword().equals(admin.getpassword() request.setattribute("message", "密码不正确!"); throw new serviceexception(); request.getsession().setattribute("admin", admin); return mapping.findforward("admin"); catch (ser
48、viceexception e) e.printstacktrace();return mapping.findforward("false");4.3.2 管理员用户主界面:因为每个用户被分配了不同的权限,在这里我们选用的拥有所有的权限的超级管理员,用户主界面是用户的管理界面。主界面如下所示: 点击左测具体的模块并进行具体的操作;a 考试管理:该模块包括“考试科目管理”和“考试详情查看”两个功能1 考试科目管理:该模块可进行考试科目的设置和考试试题的数量的设置,此项也限制了监考教师的考试试题范围。2 考试详情查看:主要记录了监考教师的考试记录,包括考试时间,考试班级以及考
49、试备注。b 管理员管理:该模块只设置了“管理员信息修改”功能,实现了管理员的自管理功能。c 选择“系统管理”,会弹出“安全退出”按钮,单击退出管理员界面。d 选择“教学管理”,会弹出“添加班级”、“管理班级”、“添加考生”、“管理考生”四个子选项;1 添加班级:按班级名称,人数,所在教室,开班时间四个条件增加新班级2 管理班级:按班级名称查询,可删除班级记录3 添加考生:考号初始值是由管理员设定的,以后每添加成功一个考生,考号自动增一位。该功能是由oracle数据库的序列号实现的4 管理考生:可以按照学生姓名或所在班级查询学生的详细信息,也可修改或删除学生记录。e 教师管理:选择控制面板上的教
50、师管理,可弹出添加教师和管理教师两个按钮,其功能分别和学生管理中相应按钮功能类似。f 题库管理:在控制面板上的题库管理按钮包含了增加考题和管理考题两个选项;1 增加考题:本系统现在只设定了 unix java oracle xml jdbc hibernate servlet html jsp struts ajax jsf ooaduml ejb spring webservice plsql 这十七种题型,出题方式为先添加试题题目,然后添加该试题的选项,每录入好一条选项点击“添加下一个选项”按钮,即表示添加成功一条选项,最后添加该试题答案,第一个选项答案为1,第二个选项的答案为2,依次类推
51、;当录入一道试题完毕后,选择试题科目,点击“出题完毕”按钮,结束试题的添加。2 管理考题:可按照试题类型查询,也可进行试题的删除操作。删除界面如下:5 关键技术解决5.1系统架构与数据库的连接对于数据库的连接,我们的数据访问接口采用jdbc-odbc桥数据驱动程序,以纯java的方式来连接数据库,为访问不同的数据库提供统一的接口。jdbc数据库驱动程序是把jdbc调用翻译成厂商专用api的调用。开放数据连接(odbc)最初是为微软操作系统上的sql提供api标准,后来也在其他的平台上提供了支持。odbc为直接访问数据定义了一组函数,而不是在客户应用程序中嵌入sql。jdbc-odbc桥在jdb
52、c api 和odbc api 之间提供了一个桥梁,这个桥把标准的jdbc调用翻译成对应的odbc调用,然后通过odbc api把它们发送到odbc数据源。在选择了数据访问接口后,开始利用这个原理进行具体的连接了。由于我们开发时是利用mvc的设计模式,所以在此我们的数据库连接是封存在m中的,即只要我们和m层连接上,就已经连接上数据库了。在m上我们采用hibernate框架技术,以下是一个非常简要的hibernate体系结构的概要图:从这个图可以看出,hibernate使用数据库和配置信息来为应用程序提供持久化服务(以及持久的对象)。我们只需在hibernate.cfg.xml中配置以下语句即可
53、:<hibernate-configuration><session-factory><property name="show_sql">true</property><property name="connection.url">jdbc:oracle:thin:20:1521:briupdb</property><property name="connection.driver_class">oracle.jdbc.drive
54、r.oracledriver</property><property name="connection.username">jd0802</property><property name="connection.password">jd0802</property><property name="dialect">org.hibernate.dialect.oracle9dialect</property><mapping resource=&q
55、uot;com/briup/test/bean/exam/ajaxjsf.hbm.xml" /><mapping resource="com/briup/test/bean/exam/ejb.hbm.xml" /><mapping resource="com/briup/test/bean/exam/hibernate.hbm.xml" /><mapping resource="com/briup/test/bean/exam/html.hbm.xml" /><mapping
56、resource="com/briup/test/bean/exam/java.hbm.xml" /><mapping resource="com/briup/test/bean/exam/jdbc.hbm.xml" /><mapping resource="com/briup/test/bean/exam/jsp.hbm.xml" /><mapping resource="com/briup/test/bean/exam/ooaduml.hbm.xml" /><mapping resource="com/briup/test/bean/exam/or
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 软件项目成果报告范文
- 情侣访谈报告范文
- 2025年度辅导班家长子女辅导费用管理合同
- 2025年度有子女离婚后抚养费支付及教育资助协议书
- 二零二五年度仓储库房租赁与供应链金融服务协议
- 二零二五年度能源资源居间合同收费标准及可持续发展
- 二零二五年度赡养老人费用约定及子女共同赡养合同
- 二零二五年度劳动合同法劳动争议调解与法律援助合同
- 2025年度租船运输费用及船员培训服务合同
- 二零二五年度大型超市租赁合同书:商业地产合作框架协议
- 认识常用电子元件图解课件
- 2025年铁岭卫生职业学院单招职业技能测试题库1套
- 2025年黑龙江商业职业学院单招职业技能测试题库及参考答案
- 部编版小学(2024版)小学道德与法治一年级下册《有个新目标》-第一课时教学课件
- 税法(第5版) 课件 第13章 印花税
- 建加油站申请书
- 2024-2025学年广州市高二语文上学期期末考试卷附答案解析
- 少年商学院《DeepSeek中小学生使用手册》
- 2025年山东铝业职业学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 2024年湖南汽车工程职业学院单招职业技能测试题库标准卷
- 20S515 钢筋混凝土及砖砌排水检查井
评论
0/150
提交评论