版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、选课系统的分析与实现摘要 在传统的手工选课处理过程中,存在着大量繁重而复杂的工作。选课工作将成为教务管理的一个主要任务,改变原有的人工选课方式,采用网上选课势在必行。本文通过分析传统人工选课的缺点及基于校园网的网上选课系统的优点,提出了基于B/S模式网上选课系统的基本设计思想,简要介绍了B/S结构模式以及JSP技术,详细介绍了系统的功能设计,数据库设计与数据库连接池的配置方法,以及系统的具体实现方法,并在试运行的基础上对系统的进一步完善提出了改进方案。经过多次运行测试,本系统能够满足学生选课、教师录入成绩、管理员录入基本信息与成绩管理等各方面的需求。关键词 网上选课系统;B/S模式;JSP;数
2、据库ABSTRACT In the traditional way of courses selecting process ,the management job needs many men to work on. It is heavy and complicated .Because selecting courses has become important part of school management , it is very necessary to replace the old inefficient way with the modern way based on I
3、nternet.This paper gives the basic design idea of the B/S-based online courses selecting system by analyzing the shortcoming of manual process of course selection and the excellence of online courses selecting system which base on campus-web .It introduces the B/S structure and the technology of JSP
4、 briefly ,and introduces the function module design ,database design ,the config of database connection pool and the particular implementation of this system in detail .And the scheme for this systems improvement on the basis of the outcome of its trial operation is introduced. After sufficient test
5、ing, this system can meet the demand of students to select courses, teachers to enregister scores, administrators to input the basic information and manage scores and so on. KEY WORDS online courses selecting system; B/S mode; JSP; database目录1.前言12.项目背景22.1选课系统的应用背景22.1.1 传统手工选课的缺点及选课系统的发展趋势22.1.2 网
6、上选课系统的优点22.1.3 网上选课系统的必然性与应用情况22.2系统实现的技术背景32.2.1 三层Browser/Server结构32.2.2 JSP的特点与优点33.开发工具介绍63.1 Tomcat服务器63.2 J2SEDK5.0(JAVA 2 开发工具标准版5)73.3 MS SQL Server 2000数据库管理系统73.4 数据库驱动程序83.5JspSmartUpload上传组件83.6 网页编辑软件93.7 集成开发环境MyEclipse 5.1.1 GA94.系统的设计104.1 系统功能设计104.1.1 学生功能模块的设计104.1.2 教师功能模块的设计114.
7、1.3 教务管理员功能模块的设计124.1.4 系统管理员功能模块的设计144.2 系统用例图分析154.3 数据库设计174.3.1 系统E-R图设计174.3.2 系统的数据表设计204.3.3 系统的视图设计244.3.4 系统的关系图264.4 系统总体界面设计265.系统的实现285.1 数据库的连接285.1.1 数据库连接池的实现285.1.2 JDBC连接方式的实现315.2 登录模块的实现325.3 中间性验证的实现325.4 学生模块的实现335.4.1 重新登录、退出系统、修改密码功能的实现335.4.2 基本信息浏览与个人信息修改的实现345.4.3 开课信息浏览与开课
8、信息查询的实现345.4.4 选定课程的实现345.4.5 课表显示与退课的实现375.4.6 选课成绩浏览的实现375.5 教师模块的实现375.6 教务管理员模块的实现385.7 系统管理员模块的实现396.毕业设计总结40致谢41参考文献42附录431.系统的环境配置432.系统演示截图441.前 言在信息全球化、网络化的今天,校园网已成为每所高校必备的信息基础设施,也是学校提高教学管理水平的重要手段。为了更好地实现管理的科学化、现代化,进一步提高教学质量和管理水平,各种依托于校园网的管理信息系统纷纷出现。传统的人工选课存在着诸多的缺陷,选课慢、易出错、易冲突,特别是在学生数量较多的学校
9、,这个问题尤为突出。随着互联网的出现和普及,基于校园网的选课系统应运而生。随着Internet的飞速发展,互联网在很多学校特别是高校学生和老师中得到了普及,这使得很多学生工作可以在网上方便快捷地完成。而基于B/S结构的胖服务器端、瘦客户端模式的网上选课系统由于其具有快捷、方便、安全等诸多优点,随着学校网络设施的完善,学生网上选课,也成为学校课程管理的一个趋势。本系统正是采用B/S模式实现的基于JSP技术的网上选课系统。2.项目背景2.1选课系统的应用背景2.1.1 传统手工选课的缺点及选课系统的发展趋势传统的手工选课的一般操作流程如下:由学校统一发布可选课程表、选课表到各位学生手中,由学生选好
10、课再提交给学校;而学校还需对这些选课的结果进行人工信息统计以便安排学生的上课计划。这一传统的手工选课方式比较烦琐和复杂,而且完全靠人工进行,非常麻烦,浪费了很多的人力物力。随着Internet的飞速发展,互联网在很多学校特别是高校学生和老师中得到了普及,这使得很多学生工作可以在网上方便快捷地完成。随着学校网络设施的完善,学生网上选课,也成为学校课程管理的一个趋势。基于以上情况,本文构建一个运行在校园网的网上选课系统,借助网上选课系统,提高选课的效率,减轻选课操作的工作量,从而提高教学管理的效率。2.1.2 网上选课系统的优点所谓网上选课,也就是通过登录学校的选课网站,在该网站中实现对课程的选取
11、。这样的优点显而易见:快捷通常网站服务器都在学校内部,而在校园内网中登录访问选课网站非常快速,只需要点击相应的鼠标就可以完成。方便由于是通过国际互联网来进行选课,这样可以在任何一台可以上网的计算机上完成选课,而不受地点的限制。安全每个学生都有相应的帐号和密码,根据帐号和密码来访问自己的相关功能,而不会影响其他学生。(引自文献12)2.1.3 网上选课系统的必然性与应用情况网上选课系统的出现是互联网络发展的必然产物,也必然会取代传统的纸上选课方式。这一点是不用置疑的。现在,网上选课系统在大学里的应用是非常广泛的,几乎每一所高校都有自己的网上选课系统;在中学里面,网上选课系统也得到了广泛的应用。2
12、.2系统实现的技术背景本系统采用B/S模式,以及公认的优秀动态网站技术JSP来实现。在此先介绍一下相关的技术背景。2.2.1 三层Browser/Server结构Browser/Server(B/S)结构是一种以Web技术为基础的新型的MIS系统平台模式。它把传统的C/S结构中的服务器部分分解为一个数据服务器与一个或多个应用服务器(Web服务器),从而构成一个三层结构的客户服务器体系。如图2-1所示:Web浏览器校园网Web服务器数据库图2-1B/S三层结构图采用这种胖服务器端,瘦客户端的运行模式,主要的数据计算操作都在服务器端进行,应用程序在服务器端安装,客户端不用安装应用程序,所有操作均通
13、过浏览器来完成。与传统的C/S结构相比,B/S模式具有以下的优点:(1)简化了客户端,客户端软件仅需安装浏览器,客户端硬件配置要求较低。(2)使用户的操作变得更简单,用户只需了解浏览器的使用,就可访问不同的应用,获取所需的信息。(3)特别适用于网上信息发布与获取,使得传统的MIS的功能有所扩展。(引自文献13)鉴于B/S模式的诸多优点与本系统的实际需求,最终决定采用B/S模式。2.2.2 JSP的特点与优点JSP(Java Server Pages)技术有许多惹人喜爱的优点:Write Once Run Anywhere:JSP技术继承了Java先天的先进概念“Write Once, Run
14、Anywhere”。这种概念正越来越深远地影响着互联网行业的交互式Web pages的设计理念。JSP可以非常容易地跨平台、跨web服务器软件来设计和开发源代码。支持多种动态网页格式:目前对使用JSP技术设计出来的网页应该采用什么样的格式还没有一个明确的标准。一般来说,JSP技术目前既可以支持HTML/DHTML的传统浏览器文件格式,又可以支持应用于无线通讯设备例如移动电话、PDA等设备进行网页浏览的WML文件格式,还可以支持其他一些B2B应用的XML格式。与以往的其他WEB应用技术相比较,JSP技术有它很鲜明的特点:JSP标签可扩充性尽管ASP和JSP都使用标签与脚本技术来制作动态WEB网页
15、,JSP技术能够使开发者扩展JSP标签得以应用,JSP开发者能定制标签库,所以网页制作者充分利用与XML兼容的标签技术强大的功能,大大减少对脚本语言的依赖。由于定制标签技术,使网页制作者降低了制作网页和向多个网页扩充关键功能的复杂程度。JSP跨平台的可重用性JSP组件(企业JavaBeans TM,JavaBeans,或定制的JSP标签)都是跨平台可重用的。企业JavaBeans组件可以访问传统的数据库,并能以分布式系统模式工作于UNIX和WINDOWS平台。JSP技术的标签可扩充功能为开发人员提供简捷的,与XML兼容的接口即网页的打包功能使其完全的工业标准化。这种基于组件的模式很有效提高应用
16、程序的开发效率,因为这种模式能够使开发人员利用快捷的子组件快速创建模板应用程序,然后再整合一些附加功能以后便可使用。像这样有效的方法在JSP中无处不在,并可将其打包成一个JavaBean或一个工业标准化的JavaBean组件。易于维护性基于JSP技术的应用程序比基于ASP的应用程序易于维护和管理。脚本语言都能很好服务于小的应用程序,但不能适应大型的,复杂的应用程序。因为,JAVA是结构化的,它比较容易创建和维护庞大的,组件化的应用程序。JSP突出的组件技术使修改内容而不影响逻辑或修改逻辑而不影响内容变得容易实现。企业级的JavaBeans结构整合了企业逻辑,例如数据库的访问,安全,事务完整性,
17、及独立性即独立于应用程序。因为JSP是一种开放的,跨平台的结构,因此,WEB服务器,平台,及其他的组件能很容易升级或切换,且不会影响JSP基本的应用程序。这一特点使JSP能够适应现实世界的各种WEB应用程序不断的变化和发展。(引自文献14)JSP的优势不仅在于它的运行速度上,更在于它完全顺应的JAVA语言所具有的一切优点:安全、可扩展、跨平台等等,JSP技术的发展也日益完善。正是由于JSP以上众多优点与特点,所以本选课系统决定采用JSP技术来完成网站的设计。3.开发工具介绍本系统在开发过程中需要用到以下开发工具:Ø Tomcat5服务器Ø J2SEDK5.0Ø M
18、S SQL Server 2000数据库管理系统Ø SQL Server 2000 Service Pack 4(SQL Server 2000升级补丁)Ø jtds-1.2(数据库驱动程序)Ø JDBCDriverforMSSQL2000(Microsoft公司的Java SQL Server驱动程序)Ø JspSmartUpload上传组件。 Ø Dreamweaver MX 2004Ø Microsoft Office FrontPage 2003Ø MyEclipse 5.1.1 GA3.1 Tomcat服务器Tom
19、cat是Apache Jakarta软件组织的一个子项目,Tomcat是一个JSP/Servlet容器,它是在SUN公司的JSWDK(Java Server Web Development Kit)基础上发展起来的一个JSP和Servlet规范的标准实现,使用Tomcat可以体验JSP和Servlet的最新规范。经过多年的发展,Tomcat不仅是JSP和Servlet规范的标准实现,而且具备了很多商业Java Servlet容器的特性,并被一些企业用于商业用途。一个Java Web应用在Tomcat中与一个Context元素对应,也就是说一个Context元素定义了一个Java Web应用,它
20、们是一一对应的关系。在一个Java Web应用中可以包含如下内容:q Servletq JSP页面q Java类q 静态资源(HTML文档、图片等)q 描述Web应用的描述文件客户每次提出请求时指定要访问的资源,如果客户没有指定具体资源,Tomcat使用默认的资源响应客户,显示文件夹中的资源列表或者提示错误。例如Tomcat安装成功后,会默认配置好了servlets-examples和jsp-examples两个Web应用,如果访问这两个应用,则Tomcat为其服务的过程如图3-1(引自文献11)所示。图3-1多个Web应用时Tomcat服务的过程3.2 J2SEDK5.0(JAVA 2 开发
21、工具标准版5)JDK是JAVA开发工具的核心工具,发展到现在JDK已分为以下几个版本:J2SE(JAVA2标准版),J2EE(JAVA2企业版),J2ME(针对消费性电子产品和嵌入式系统所设计的)等。本系统采用JAVA2标准版1.5即J2SEDK5.0来开发程序。它包括了所有编译、运行JAVA程序所需要的工具:Java基本组件、库、Java编译器、小应用程序浏览器等等。3.3 MS SQL Server 2000数据库管理系统SQL Server 2000 是Microsoft公司推出的关系型网络数据库管理系统,它的工作环境可以是Windows NT(Server或Workstation)、W
22、indows CE 、Windows 2000 、Windows 98或Windows XP。SQL Server 2000 与Microsoft公司的其他软件,如Microsoft Office或Microsoft Visual Studio ,设计风格一致,并能相互配合。SQL Server 2000 支持多层客户机/服务器结构,具有完善的分布式数据库和数据仓库的功能,能够进行分布式事务处理和联机分析处理。SQL Server 2000具有强大的数据库管理功能,它提供了一套功能完善且具备可视化界面的管理工具。SQL Server 2000 还具有强大的网络功能,它与Internet高度集成
23、,能够轻易地将Web应用程序与企业营运应用程序集成在一起。本系统采用MS SQL Server 2000 数据库管理系统作为后台数据库。3.4 数据库驱动程序由于Web应用程序要与数据库进行连接及操作,所以需要添加数据库驱动程序。本系统需要用到两个驱动程序:Ø JTDS()Ø JDBCDriverforMSSQL2000(包括:msbase.jar,mssqlserver.jar,msutil.jar)因为Microsoft公司的Java SQL Server驱动程序不支持二次查询,而且只能按字段在数据表中的先后位置来读取数据,JTDS则不会出现这样的问题,所以本系统采用了
24、JTDS驱动程序。又因为JTDS在事务处理和批处理的时候会出现问题,所以本系统也采用了Microsoft公司的JDBCDriverforMSSQL2000来处理事务。注意,要想驱动程序能够成功地连接与操作数据库,必须在安装SQL Server 2000 后,确保安装了SQL Server 2000 Service Pack 2以上升级补丁,在本系统中将采用SQL Server 2000 Service Pack 4。3.5 JspSmartUpload上传组件JspSmartUpload是由网站开发的一个可免费使用的全功能的文件上传下载组件,适用于嵌入执行上传下载操作的JSP文件中。该组件有以
25、下几个特点:使用简单:在JSP文件中仅仅书写三五行JAVA代码就可以实现文件的上传或下载,方便。能全程控制上传:利用JspSmartUpload组件提供的对象及其操作方法,可以获得全部上传文件的信息(包括文件名,大小,类型,扩展名,文件数据等),方便存取。能对上传的文件在大小、类型等方面做出限制,滤掉不符合要求的文件。3.6 网页编辑软件Dreamweaver MX 2004 是一款专业性的网页设计软件,Microsoft Office FrontPage 2003 继承了Microsoft Office 方便易用,轻易上手的特点。这两款软件各有各自的优点,结合地使用可以为网站的设计更好地服务
26、。3.7 集成开发环境MyEclipse GAEclipse主要是作为编程工具来使用,Eclipse的设计思想是:一切皆为插件。Eclipse的核心是非常小的,其他所有的功能都以插件的形式附加到这个Eclipse核心之上。这样的功能插件包括它的图形API(称为SWT/JFace)、Java开发环境插件(简称JDT)、插件开发环境(简称PDE)等。Eclipse还对这些插件的协同工作提供了良好的支持,不仅安装简单,而且还可以无缝结合。要想在Eclipse进行JSP的Web开发,必须在Eclipse上安装JSP开发插件,比如Lomboz插件,MyEclipse插件。这里准备使用的是MyEclips
27、e插件。MyEclipse GA已经集成了Eclipse开发环境与MyEclipse插件。使用该集成开发环境(IDE)可以方便地发现语法错误,快速自动地生成Setter与Getter等等。4.系统的设计4.1 系统功能设计网上选课系统应该具有以下基本功能:学生能够浏览或查询开课安排信息、进行选课、查看成绩,教师给学生登记选课成绩,教务管理员可以管理开课信息、开放或关闭学生选课,系统管理员可以管理这些用户的基本信息、开课管理和成绩管理等等。经过分析整理,可将其按用户角色不同划分为以下四部分:Ø 学生用户角色部分Ø 教师用户角色部分Ø 教务管理员用户角色部分Ø
28、; 系统管理员用户角色部分如图4-1所示:学生选课系统学生用户模块教师用户模块教务管理员用户模块系统管理员用户模块图4-1学生选课系统总体功能模块图下面将根据上面划分的模块对各模块进行深一步的细化。4.1.1 学生功能模块的设计网上选课系统对学生来说,最重要的是进行选课、退课和查看成绩。在进行选课之前应该是先浏览或是查询开课信息表后才进行选课的。以上这些操作是需要先登录后才可以进行的,所以应开设一个登录验证功能。有了“登录”就应该有“退出系统”和“重新登录”(通常所说的“注销”),如果只有登录,而没有注销,会加重系统的负担,浪费了系统资源。登录通常涉及到密码,所以应该给学生一个可以自己修改个人
29、密码的操作,同时还可以浏览个人的基本信息,和修改一些个人信息,因为管理人员在添加或修改学生信息时难免会出现一些错误。当然以上的一切操作都是在正确登录后方可进行的。对以上的分析进行总结,可以得到学生功能模块的结构图,如图4-2所示:学生登录用户菜单个人信息选 课选修课成绩重新登录修改密码退出系统修改个人资料基本信息浏览开课信息表浏览开课信息表查询选定课程课表显示退课成绩浏览图4-2学生用户角色功能模块图4.1.2 教师功能模块的设计与学生类似,教师同样需要登录后才可以进行相关的操作。教师这个用户角色同样具有登录,重新登录,退出系统,修改个人密码,浏览个人基本信息,修改个人资料的功能。除此之外,最
30、重要的还是给选课的学生登记或修改这一门课程的选课成绩。在此可以给学生一个一个地登记(或修改)选课成绩,为了方便应开设批量登记(或修改)的功能。经整理和总结后,可得到以下功能结构图,如图4-3所示。教师登录用户菜单个人信息学生成绩登记重新登录修改密码退出系统修改个人资料基本信息浏览成绩查询与修改批量修改成绩图4-3教师用户角色功能模块图4.1.3 教务管理员功能模块的设计教务管理员同样需要登录后才能进行相应的操作。于是应该具备登录,重新登录,退出系统,修改个人密码的功能。同时教务管理员应该具有管理教师基本信息、学生基本信息、课程基本信息以及课程安排等功能。具体如下:添加、查询、修改、删除教师基本
31、信息;添加、查询、修改、删除学生基本信息;添加、查询、修改、删除专业班级基本信息;添加、查询、修改、删除教室基本信息;添加、查询、修改、删除课程基本信息;添加、查询、修改、删除课程安排信息。除此之外,教务管理员应该还具有开课管理的权限,包括开放学生选课与关闭学生选课。另外,教务管理员用户角色同样具有浏览开课信息表和查询开课信息表的功能。具体功能如图4-4所示:教务管理员登录用户菜单基本信息管理开课管理重新登录修改密码退出系统修改个人资料教师信息管理开课信息表浏览开课信息表查询开课管理学生信息管理专业班级管理教室信息管理课程信息管理课程安排管理查询记录添加记录修改记录删除记录批量更新课程安排表关
32、闭学生选课开放学生选课图4-4教务管理员用户角色功能模块图4.1.4 系统管理员功能模块的设计系统管理员具备了教务管理员的所有权限与功能。与教务管理员相比,系统管理员增加了管理教务管理员基本信息与系统管理员基本信息的权限。具体如下:添加、修改、删除教务管理员基本信息;添加、修改、删除系统管理员基本信息。另外系统管理员还具有管理学生选课成绩的权限,包括查询、修改、删除学生选课成绩。其功能结构图如图4-5所示:系统管理员登录用户菜单基本信息管理开课管理重新登录修改密码退出系统修改个人资料教师信息管理开课信息表浏览开课信息表查询开课管理学生信息管理专业班级管理教室信息管理课程信息管理课程安排管理查询
33、记录添加记录修改记录删除记录批量更新课程安排表关闭学生选课开放学生选课查询修改删除成绩教务管理员管理系统管理员管理学生成绩管理图4-5系统管理员用户角色功能模块图4.2 系统用例图分析分析以上各功能模块图可以得到系统的用例图,分别如下所示。Ø 学生教师用例图如图4-6所示:图4-6学生教师用例图Ø 教务管理员与系统管理员用例图如图4-7,图4-8,图4-9所示:图4-7教务管理员与系统管理员用例图-1图4-8教务管理员与系统管理员用例图-2图4-9教务管理员与系统管理员用例图-34.3 数据库设计根据上面的功能设计,可以设计出系统所需的数据库。4.3.1 系统E-R图设计经
34、过以上的功能设计与分析,可以得到系统总体的E-R图,如图4-10所示:专业班级学生课程教师教室包含选课排课开课1NNMNMNM图4-10系统的全局E-R图教师作为一个用户角色,应该具有自己的信息。作为最基本的信息,应该具有编号,姓名,性别,出生日期,籍贯,职称,家庭住址,电话号码,登录系统的密码和照片。其E-R图如图4-11所示:教师性别编号籍贯姓名照片登录密码电话职称出生日期家庭住址图4-11教师及其属性的E-R图同样地,学生应该具有学号,姓名,性别,出生日期,籍贯,家庭住址,宿舍号码,所在班级编码,登录系统的密码,照片等信息。其E-R图如图4-12所示:学生性别编号籍贯姓名照片登录密码所在
35、班级编码家庭住址出生日期宿舍号码图4-12学生及其属性的E-R图专业班级信息的E-R图如图4-13所示:专业班级所属专业班级编码班级名称所属院系图4-13专业班级及其属性的E-R图教室信息的E-R图如图4-14所示:教室座位数教室编号教室类型教室管理员姓名图4-14教室及其属性的E-R图课程信息的E-R图如图4-15所示:课程学分数课程号课程名称讲授学时课程简介图4-15课程及其属性的E-R图课程安排的E-R图如图4-16所示:课程安排课程号已选课人数最大选课人数教室编号上课时间课程名教师姓名开课学期开课学年教师编号图4-16课程安排及其属性的E-R图 其他的E-R图与上面的相类似,在此不再一
36、一列举。4.3.2 系统的数据表设计对E-R 图进行整理与分析,可以得到本网上选课系统的各个数据表及其结构,具体如表4-1至表4-10所示:表4-1教师信息表TeacherInfo序号字段名字段类型长度字段值约束主键、外码描述1TeacherIDvarcher11Not nullPK教师编号2TeacherNamevarcher8Not null教师姓名3Sexvarcher4性别4Nativeplacevarcher20籍贯5Birthdaydatetime8出生日期6Titlevarcher20职称7FamilyAddressvarcher40家庭住址8PhoneNovarcher20电话
37、号码9Passwordvarcher32密码10PhotoUrlvarcher35照片引用地址表4-2学生信息表StudentInfo序号字段名字段类型长度字段值约束主键、外码描述1StudentIDvarcher11Not nullPK学号2StudentNamevarcher8Not null学生姓名3Sexvarcher4性别4Nativeplacevarcher20籍贯5Birthdaydatetime8出生日期6FamilyAddressvarcher 40家庭住址7Dormitoryvarcher30宿舍号码8ClassIDvarcher10Not nullFK所在班级编码9Pas
38、swordvarcher32密码10PhotoUrlvarcher35照片引用地址表4-3专业班级信息表ClassInfo序号字段名字段类型长度字段值约束主键、外码描述1ClassIDvarcher10Not nullPK班级编码2ClassNamevarcher 30班级名称3SpeNamevarcher30所属专业4FacultyNamevarcher30所属院系表4-4教室信息表ClassroomInfo序号字段名字段类型长度字段值约束主键、外码描述1ClassroomIDvarcher30Not nullPK教室编号2RoomTypevarcher20教室类型3SeatsNumint4
39、座位数4Managervarcher8教室管理员姓名表4-5课程信息表CourseInfo序号字段名字段类型长度字段值约束主键、外码描述1CourseIDvarcher10Not nullPK课程号2CourseNamevarcher30课程名称3CreditHourint4学分数4Periodint4讲授学时5CourseSummaryvarcher2000课程简介表4-6课程安排表CourseSchedule序号字段名字段类型长度字段值约束主键、外码描述1CourseIDvarcher10Not nullPK、FK课程号2TeacherIDvarcher11Not nullFK教师编号3T
40、eachYearvarcher15Not null开课学年4TeachSemestervarcher10Not null开课学期5CourseNamevarcher30课程名6TeacherNamevarcher8教师姓名7TeachingDatevarcher20Not null上课时间8ClassroomIDvarcher30Not nullFK教室编号9MaxNumint4Not null最大选课人数10CurrentNumint4Not null已选课人数表4-7学生选课成绩表StudentCourse序号字段名字段类型长度字段值约束主键、外码描述1CourseIDvarcher10N
41、ot nullPK课程号2StudentIDvarcher11Not nullPK、FK学生学号3TeacherIDvarcher11Not null教师编号4TeachYearvarcher15Not null开课学年5TeachSemestervarcher10Not null开课学期6CourseNamevarcher30课程名7StudentNamevarcher8学生姓名8TeacherNamevarcher8教师姓名9CreditHourint4学分10ExamGradenumeric5成绩11Controllerbit1Not null标识器表4-8教务管理员信息表EduAdm序
42、号字段名字段类型长度字段值约束主键、外码描述1EduAdmIDvarcher11Not nullPK教务管理员编码2EduAdmNamevarcher8Not null教务管理员姓名3Sexvarcher4性别4PhoneNovarcher20电话号码5Passwordvarcher32Not null密码表4-9系统管理员信息表SysAdm序号字段名字段类型长度字段值约束主键、外码描述1SysAdmIDvarcher11Not nullPK系统管理员编码2SysAdmNamevarcher8Not null系统管理员姓名3Sexvarcher4性别4PhoneNovarcher20电话号码5
43、Passwordvarcher32Not null密码表4-10开放与关闭选课控制表Controller序号字段名字段类型长度字段值约束主键、外码描述1Controllerbit1Not null控制开关4.3.3 系统的视图设计此外本系统还用到了MS SQL Server 2000 的视图功能,在本系统中创建了四个视图,分别如下:1.CSView(开课信息表查询或浏览时要用到此视图)如图4-17所示:图4-17CSView2.StuCSView(学生课表显示用到的视图)如图4-18所示:图4-18StuCSView3.StuCSForTchView(教师查询及显示学生成绩具体情况时用到此视图
44、)如图4-19所示:图4-19StuCSForTchView4.StuCSForSysView(系统管理员查询及显示学生成绩具体情况时用到此视图)如图4-20所示:图4-20StuCSForSysView4.3.4 系统的关系图系统的关系图如图4-21所示:图4-21系统关系图4.4 系统总体界面设计该网上选课系统的登录界面初步设计如图4-22所示。系统的主界面采用网页框架结构,初步设计图如图4-23所示。学 生 选 课 系 统x x x x x x x x x x x x x x x x xx x x x xx x x x x图4-22系统登录界面梗概图学 生 选 课 系 统图4-23系统主
45、界面设计图5.系统的实现本系统采用三层架构设计实现,它的工作原理如图5-1所示:网上选课系统操作界面JavaBean数据库用户界面业务逻辑数据存储层图5-1系统三层架构图5.1 数据库的连接 本系统用到了两种类型的数据库连接方式:数据库连接池与JDBC连接方式。5.1.1 数据库连接池的实现数据库连接池概述:数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库连接池正是针对这个问题提出来的。数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连
46、接,而再不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。数据库连接池在初始化时将创建一定数量的数据库连接放到连接池中,这些数据库连接的数量是由最小数据库连接数来设定的。无论这些数据库连接是否被使用,连接池都将一直保证至少拥有这么多的连接数量。连接池的最大数据库连接数量限定了这个连接池能占有的最大连接数,当应用程序向连接池请求的连接数超过最大连接数量时,这些请求将被加入到等待队列中。(引自文献16)JSP中tomcat的SQL Server2000数据库连接池的配置环境:Ø 数据库:Mi
47、crosoft SQL Server 2000配置Tomcat数据库连接池的前提:Ø 必须装有Java运行环境;Ø 必须有SQL Server2000数据库服务器(可以不在本地);Ø 必须有jtds.jar,并将它放在$CATALINA_HOME/common/lib目录下(只能是这里)。使用它是因为Microsoft公司的Java SQL Server驱动程序不支持二次查询。本系统使用的是jtds-1.2.jar。 (1) 在$CATALINA_HOME/conf/server.xml里设置数据库连接池:下面是配置的代码,必须放在<Host>和<
48、;/Host>之间。<!- + pool for database of xuanke + -> <Context path="/xuanke" docBase="xuanke" debug="0" reloadable="true" crossContext="true"><Logger className="" prefix="localhost_quality_log." suffix=".txt&quo
49、t; timestamp="true" /> <Resource name="xuankepool" auth="Container" type="" /> <ResourceParams name="xuankepool"><parameter> <name>maxActive</name> <value>50</value> </parameter><para
50、meter> <name>maxIdle</name> <value>30</value> </parameter><parameter> <name>maxWait</name> <value>5000</value> </parameter><parameter> <name>removeAbandoned</name> <value&
51、gt;true</value> </parameter><parameter> <name>removeAbandonedTimeout</name> <value>60</value> </parameter><parameter> <name>logAbandoned</name> <value>false</value> </parameter><parameter
52、> <name>factory</name> <value></value></parameter><parameter> <name>username</name> <value>sa</value> </parameter><parameter> <name>password</name> <value>123456</va
53、lue> </parameter><parameter> <name>driverClassName</name> <value></value> </parameter><parameter> <name>url</name> <value>jdbc:jtds:sqlserver:/127.127.127.127:1433/xuanke</value></parameter><
54、;/ResourceParams></Context> (2) 在web应用程序(在本系统中为xuanke)的WEB-INF/web.xml里设置被引用的资源:下面是配置代码,必须放在<web-app>和</web-app>里。<resource-ref> <description>connectDB test</description> <res-ref-name>xuankepool</res-ref-name> <res-type>&l
55、t;/res-type> <res-auth>Container</res-auth> </resource-ref>(3) 编写数据库连接池的数据库操作Bean。源代码不在此列出,具体可参考源文件。其类图如图5-2所示:图5-2数据库连接池BEAN5.1.2 JDBC连接方式的实现JDBC连接方式是用到了微软公司的JDBCDriverforMSSQL2000。把msbase.jar,mssqlserver.jar,msutil.jar三个JAR包放到$CATALINA_HOME/common/lib目录下,并且将它们添加到“classpath”环境变量中,然后编写JDBC连接Bean即可。在本系统中为JBean,源代码不在此列出,具体可参考源文件,其类图如图5-3所示:图5-3JDBC连接BEAN5.2 登录模块的实现各用户需要先登录然后才可以进行相关的操作,因此设置了一个登录模块,在登录界面中有四种登录身份可选择,分别是“学生”、“教师”、“教务管理员”、“系统管理员”,用下拉列表框来实现,默认选项是“学生”,下面是用户名与密码输入框。登录验证的全部逻辑都封装在一个JavaBean中,将其命名为Login,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度充电桩场地租赁与充电设施维护合同4篇
- 周期性多边形结构多孔铝在单轴压缩下的力学行为
- 二零二四年度影视作品现场演出合作合同3篇
- 二零二五版豪华汽车定制销售与维护服务合同3篇
- 二零二四年外墙保温材料出口与施工安装合同3篇
- 果树挖除施工方案
- 老年友好型社区景观设计研究
- 外墙一体板施工方案
- 二零二五年度金融理财产品区域代理合作协议4篇
- 肺结节患者中医体质与舌面脉象研究
- 化学-河南省TOP二十名校2025届高三调研考试(三)试题和答案
- 智慧农贸批发市场平台规划建设方案
- 林下野鸡养殖建设项目可行性研究报告
- 2023年水利部黄河水利委员会招聘考试真题
- Python编程基础(项目式微课版)教案22
- 建筑施工中常见的安全问题及解决方法
- 近五年重庆中考物理试题及答案2023
- 乳腺导管原位癌
- 冷库管道应急预案
- 《学习教育重要论述》考试复习题库(共250余题)
- 网易云音乐用户情感画像研究
评论
0/150
提交评论