网络选课系统设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
选课系统的分析与实现
摘要在传统的手工选课处理过程中,存在着大量繁重而复杂的工作。
选课工作将成为教务管理的一个主要任务,改变原有的人工选课方式,采用网上选课势在必行。
本文通过分析传统人工选课的缺点及基于校园网的网上选课系统的优点,提出了基于B/S模式网上选课系统的基本设计思想,简要介绍了B/S结构模式以及JSP技术,详细介绍了系统的功能设计,数据库设计与数据库连接池的配置方法,以及系统的具体实现方法,并在试运行的基础上对系统的进一步完善提出了改进方案。
经过多次运行测试,本系统能够满足学生选课、教师录入成绩、管理员录入基本信息与成绩管理等各方面的需求。
关键词网上选课系统;B/S模式;JSP;数据库
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 Internet.
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 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 system’s improvement on the basis of the outcome of its trial operation is introduced.After sufficient testing, 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.前言 (1)
2.1选课系统的应用背景 (2)
2.1.1 传统手工选课的缺点及选课系统的发展趋势 (2)
2.1.2 网上选课系统的优点 (2)
2.1.3 网上选课系统的必然性与应用情况 (2)
2.2系统实现的技术背景 (3)
2.2.1 三层Browser/Server结构 (3)
2.2.2 JSP的特点与优点 (3)
3.开发工具介绍 (6)
3.1 Tomcat服务器 (6)
3.2 J2SEDK5.0(JAVA 2 开发工具标准版5) (7)
3.3 MS SQL Server 2000数据库管理系统 (7)
3.4 数据库驱动程序 (8)
3.5JspSmartUpload上传组件 (8)
3.6 网页编辑软件 (9)
3.7 集成开发环境MyEclipse 5.1.1 GA (9)
4.系统的设计 (10)
4.1 系统功能设计 (10)
4.1.1 学生功能模块的设计 (11)
4.1.2 教师功能模块的设计 (12)
4.1.3 教务管理员功能模块的设计 (12)
4.1.4 系统管理员功能模块的设计 (14)
4.2 系统用例图分析 (15)
4.3 数据库设计 (18)
4.3.1 系统E-R图设计 (18)
4.3.2 系统的数据表设计 (21)
4.3.3 系统的视图设计 (25)
4.3.4 系统的关系图 (27)
4.4 系统总体界面设计 (27)
5.系统的实现 (29)
5.1 数据库的连接 (29)
5.1.1 数据库连接池的实现 (29)
5.1.2 JDBC连接方式的实现 (32)
5.2 登录模块的实现 (33)
5.3 中间性验证的实现 (33)
5.4 学生模块的实现 (34)
5.4.1 重新登录、退出系统、修改密码功能的实现 (34)
5.4.2 基本信息浏览与个人信息修改的实现 (35)
5.4.3 开课信息浏览与开课信息查询的实现 (35)
5.4.4 选定课程的实现 (35)
5.4.5 课表显示与退课的实现 (38)
5.4.6 选课成绩浏览的实现 (38)
5.6 教务管理员模块的实现 (39)
5.7 系统管理员模块的实现 (40)
6.毕业设计总结 ................................................................................... 错误!未定义书签。
致谢 ....................................................................................................... 错误!未定义书签。
参考文献 . (41)
附录 (43)
1.系统的环境配置 (43)
2.系统演示截图 (44)
1.前言
在信息全球化、网络化的今天,校园网已成为每所高校必备的信息基础设施,也是学校提高教学管理水平的重要手段。
为了更好地实现管理的科学化、现代化,进一步提高教学质量和管理水平,各种依托于校园网的管理信息系统纷纷出现。
传统的人工选课存在着诸多的缺陷,选课慢、易出错、易冲突,特别是在学生数量较多的学校,这个问题尤为突出。
随着互联网的出现和普及,基于校园网的选课系统应运而生。
随着Internet的飞速发展,互联网在很多学校特别是高校学生和老师中得到了普及,这使得很多学生工作可以在网上方便快捷地完成。
而基于B/S结构的胖服务器端、瘦客户端模式的网上选课系统由于其具有快捷、方便、安全等诸多优点,随着学校网络设施的完善,学生网上选课,也成为学校课程管理的一个趋势。
本系统正是采用B/S模式实现的基于JSP技术的网上选课系统。
2.项目背景
2.1选课系统的应用背景
2.1.1 传统手工选课的缺点及选课系统的发展趋势
传统的手工选课的一般操作流程如下:由学校统一发布可选课程表、选课表到各位学生手中,由学生选好课再提交给学校;而学校还需对这些选课的结果进行人工信息统计以便安排学生的上课计划。
这一传统的手工选课方式比较烦琐和复杂,而且完全靠人工进行,非常麻烦,浪费了很多的人力物力。
随着Internet的飞速发展,互联网在很多学校特别是高校学生和老师中得到了普及,这使得很多学生工作可以在网上方便快捷地完成。
随着学校网络设施的完善,学生网上选课,也成为学校课程管理的一个趋势。
基于以上情况,本文构建一个运行在校园网的网上选课系统,借助网上选课系统,提高选课的效率,减轻选课操作的工作量,从而提高教学管理的效率。
2.1.2 网上选课系统的优点
所谓网上选课,也就是通过登录学校的选课网站,在该网站中实现对课程的选取。
这样的优点显而易见:
快捷——通常网站服务器都在学校内部,而在校园内网中登录访问选课网站非常快速,只需要点击相应的鼠标就可以完成。
方便——由于是通过国际互联网来进行选课,这样可以在任何一台可以上网的计算机上完成选课,而不受地点的限制。
安全——每个学生都有相应的帐号和密码,根据帐号和密码来访问自己的相关功能,而不会影响其他学生。
(引自文献[12])
2.1.3 网上选课系统的必然性与应用情况
网上选课系统的出现是互联网络发展的必然产物,也必然会取代传统的纸上选课方式。
这一点是不用置疑的。
现在,网上选课系统在大学里的应用是非常广泛的,几乎每一所高校都有自己
的网上选课系统;在中学里面,网上选课系统也得到了广泛的应用。
2.2系统实现的技术背景
本系统采用B/S模式,以及公认的优秀动态网站技术JSP来实现。
在此先介绍一下相关的技术背景。
2.2.1 三层Browser/Server结构
Browser/Server(B/S)结构是一种以Web技术为基础的新型的MIS系统平台模式。
它把传统的C/S结构中的服务器部分分解为一个数据服务器与一个或多个应用服务器(Web服务器),从而构成一个三层结构的客户服务器体系。
如图2-1所示:
图2-1B/S三层结构图
采用这种胖服务器端,瘦客户端的运行模式,主要的数据计算操作都在服务器端进行,应用程序在服务器端安装,客户端不用安装应用程序,所有操作均通过浏览器来完成。
与传统的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 Anywhere”。
这种概念正越来越深远地影响着互联网行业的交互式Web pages的设计理念。
JSP可以非常容易地跨平台、跨web服务器软件来设计和开发源代码。
支持多种动态网页格式:目前对使用JSP技术设计出来的网页应该采用什么样的格式还没有一个明确的标准。
一般来说,JSP技术目前既可以支持HTML/DHTML 的传统浏览器文件格式,又可以支持应用于无线通讯设备例如移动电话、PDA等设备进行网页浏览的WML文件格式,还可以支持其他一些B2B应用的XML格式。
与以往的其他WEB应用技术相比较,JSP技术有它很鲜明的特点:
JSP标签可扩充性
尽管ASP和JSP都使用标签与脚本技术来制作动态WEB网页,JSP技术能够使开发者扩展JSP标签得以应用,JSP开发者能定制标签库,所以网页制作者充分利用与XML兼容的标签技术强大的功能,大大减少对脚本语言的依赖。
由于定制标签技术,使网页制作者降低了制作网页和向多个网页扩充关键功能的复杂程度。
JSP跨平台的可重用性
JSP组件(企业JavaBeans TM,JavaBeans,或定制的JSP标签)都是跨平台可重用的。
企业JavaBeans组件可以访问传统的数据库,并能以分布式系统模式工作于UNIX和WINDOWS平台。
JSP技术的标签可扩充功能为开发人员提供简捷的,与XML兼容的接口即网页的打包功能使其完全的工业标准化。
这种基于组件的模式很有效提高应用程序的开发效率,因为这种模式能够使开发人员利用快捷的子组件快速创建模板应用程序,然后再整合一些附加功能以后便可使用。
像这样有效的方法在JSP中无处不在,并可将其打包成一个JavaBean或一个工业标准化的JavaBean组件。
易于维护性
基于JSP技术的应用程序比基于ASP的应用程序易于维护和管理。
脚本语言都能很好服务于小的应用程序,但不能适应大型的,复杂的应用程序。
因为,JA V A是结构化的,它比较容易创建和维护庞大的,组件化的应用程序。
JSP突出的组件技术使修改内容而不影响逻辑或修改逻辑而不影响内容变得容易实现。
企业级的JavaBeans结构整合了企业逻辑,例如数据库的访问,安全,事务完整性,及独立性即独立于应用程序。
因为JSP是一种开放的,跨平台的结构,因此,WEB服务器,平台,及其他的组件能很容易升级或切换,且不会影响JSP基本的应用程序。
这一特点使JSP能够适应现实世界的各种WEB应用程序不断的变化和发展。
(引自文献[14])
JSP的优势不仅在于它的运行速度上,更在于它完全顺应的JA V A语言所具有的一切优点:安全、可扩展、跨平台等等,JSP技术的发展也日益完善。
正是由于JSP 以上众多优点与特点,所以本选课系统决定采用JSP技术来完成网站的设计。
3.开发工具介绍
本系统在开发过程中需要用到以下开发工具:
➢Tomcat5服务器
➢J2SEDK5.0
➢MS 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 GA
3.1 Tomcat服务器
Tomcat是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应用,它们是一一对应的关系。
在一个Java Web应用中可以包含如下内容:
❑Servlet
❑JSP页面
❑Java类
❑静态资源(HTML文档、图片等)
❑描述Web应用的描述文件
客户每次提出请求时指定要访问的资源,如果客户没有指定具体资源,Tomcat 使用默认的资源响应客户,显示文件夹中的资源列表或者提示错误。
例如Tomcat安装成功后,会默认配置好了servlets-examples和jsp-examples两个Web应用,如果访问这两个应用,则Tomcat为其服务的过程如图3-1(引自文献[11])所示。
图3-1多个Web应用时Tomcat服务的过程
3.2 J2SEDK5.0(JAVA 2 开发工具标准版5)
JDK是JA V A开发工具的核心工具,发展到现在JDK已分为以下几个版本:J2SE (JA V A2标准版),J2EE(JA V A2企业版),J2ME(针对消费性电子产品和嵌入式系统所设计的)等。
本系统采用JA V A2标准版1.5即J2SEDK5.0来开发程序。
它包括了所有编译、运行JA V A程序所需要的工具:Java基本组件、库、Java编译器、小应用程序浏览器等等。
3.3 MS SQL Server 2000数据库管理系统
SQL Server 2000 是Microsoft公司推出的关系型网络数据库管理系统,它的工作环境可以是Windows NT(Server或Workstation)、Windows 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高度集成,能够轻易地将Web应用程序与企业营运应用程序集成在一起。
本系统采用MS SQL Server 2000 数据库管理系统作为后台数据库。
3.4 数据库驱动程序
由于Web应用程序要与数据库进行连接及操作,所以需要添加数据库驱动程序。
本系统需要用到两个驱动程序:
➢JTDS(jtds-1.2.jar)
➢JDBCDriverforMSSQL2000(包括:msbase.jar,mssqlserver.jar,msutil.jar)因为Microsoft公司的Java SQL Server驱动程序不支持二次查询,而且只能按字段在数据表中的先后位置来读取数据,JTDS则不会出现这样的问题,所以本系统采用了JTDS驱动程序。
又因为JTDS在事务处理和批处理的时候会出现问题,所以本系统也采用了Microsoft公司的JDBCDriverforMSSQL2000来处理事务。
注意,要想驱动程序能够成功地连接与操作数据库,必须在安装SQL Server 2000 后,确保安装了SQL Server 2000 Service Pack 2以上升级补丁,在本系统中将采用SQL Server 2000 Service Pack 4。
3.5 JspSmartUpload上传组件
JspSmartUpload是由网站开发的一个可免费使用的全功能的文件上传下载组件,适用于嵌入执行上传下载操作的JSP文件中。
该组件有以下几个特点:使用简单:在JSP文件中仅仅书写三五行JA V A代码就可以实现文件的上传或下载,方便。
能全程控制上传:利用JspSmartUpload组件提供的对象及其操作方法,可以获
得全部上传文件的信息(包括文件名,大小,类型,扩展名,文件数据等),方便存取。
能对上传的文件在大小、类型等方面做出限制,滤掉不符合要求的文件。
3.6 网页编辑软件
Dreamweaver MX 2004 是一款专业性的网页设计软件,Microsoft Office FrontPage 2003 继承了Microsoft Office 方便易用,轻易上手的特点。
这两款软件各有各自的优点,结合地使用可以为网站的设计更好地服务。
3.7 集成开发环境MyEclipse 5.1.1 GA
Eclipse主要是作为编程工具来使用,Eclipse的设计思想是:一切皆为插件。
Eclipse的核心是非常小的,其他所有的功能都以插件的形式附加到这个Eclipse核心之上。
这样的功能插件包括它的图形API(称为SWT/JFace)、Java开发环境插件(简称JDT)、插件开发环境(简称PDE)等。
Eclipse还对这些插件的协同工作提供了良好的支持,不仅安装简单,而且还可以无缝结合。
要想在Eclipse进行JSP的Web开发,必须在Eclipse上安装JSP开发插件,比如Lomboz插件,MyEclipse插件。
这里准备使用的是MyEclipse插件。
MyEclipse 5.1.1 GA已经集成了Eclipse开发环境与MyEclipse插件。
使用该集成开发环境(IDE)可以方便地发现语法错误,快速自动地生成Setter与Getter等等。
4.系统的设计
4.1 系统功能设计
网上选课系统应该具有以下基本功能:学生能够浏览或查询开课安排信息、进行选课、查看成绩,教师给学生登记选课成绩,教务管理员可以管理开课信息、开放或关闭学生选课,系统管理员可以管理这些用户的基本信息、开课管理和成绩管理等等。
经过分析整理,可将其按用户角色不同划分为以下四部分:
➢学生用户角色部分
➢教师用户角色部分
➢教务管理员用户角色部分
➢系统管理员用户角色部分
如图4-1所示:
图4-1学生选课系统总体功能模块图
下面将根据上面划分的模块对各模块进行深一步的细化。
图4-2学生用户角色功能模块图
图4-3教师用户角色功能模块图
4.1.3 教务管理员功能模块的设计
教务管理员同样需要登录后才能进行相应的操作。
于是应该具备登录,重新登录,退出系统,修改个人密码的功能。
同时教务管理员应该具有管理教师基本信息、学生基本信息、课程基本信息以
及课程安排等功能。
具体如下:
添加、查询、修改、删除教师基本信息;
添加、查询、修改、删除学生基本信息;
添加、查询、修改、删除专业班级基本信息;
添加、查询、修改、删除教室基本信息;
添加、查询、修改、删除课程基本信息;
添加、查询、修改、删除课程安排信息。
除此之外,教务管理员应该还具有开课管理的权限,包括开放学生选课与关闭学生选课。
另外,教务管理员用户角色同样具有浏览开课信息表和查询开课信息表的功能。
具体功能如图4-4所示:
图4-4教务管理员用户角色功能模块图
4.1.4 系统管理员功能模块的设计
系统管理员具备了教务管理员的所有权限与功能。
与教务管理员相比,系统管理员增加了管理教务管理员基本信息与系统管理员基本信息的权限。
具体如下:
添加、修改、删除教务管理员基本信息;
添加、修改、删除系统管理员基本信息。
图4-5系统管理员用户角色功能模块图
4.2 系统用例图分析
分析以上各功能模块图可以得到系统的用例图,分别如下所示。
➢学生教师用例图如图4-6所示:
图4-6学生教师用例图
➢教务管理员与系统管理员用例图如图4-7,图4-8,图4-9所示:
图4-7教务管理员与系统管理员用例图-1
图4-8教务管理员与系统管理员用例图-2
图4-9 教务管理员与系统管理员用例图-3
4.3 数据库设计
根据上面的功能设计,可以设计出系统所需的数据库。
4.3.1 系统E-R 图设计
经过以上的功能设计与分析,可以得到系统总体的E-R 图,如图4-10所示:
图4-10 系统的全局E-R 图
专业班级
学生
课程
教师
教室
包含
选课
排课
开课
1
N
N
M
N
M
N
M
图4-11教师及其属性的E-R图
同样地,学生应该具有学号,姓名,性别,出生日期,籍贯,家庭住址,宿舍号码,所在班级编码,登录系统的密码,照片等信息。
其E-R图如图4-12所示:
图4-12学生及其属性的E-R图
教室信息的E-R图如图4-14所示:
图4-14教室及其属性的E-R图课程信息的E-R图如图4-15所示:
图4-15课程及其属性的E-R图
图4-16课程安排及其属性的E-R图
其他的E-R图与上面的相类似,在此不再一一列举。
4.3.2 系统的数据表设计
对E-R 图进行整理与分析,可以得到本网上选课系统的各个数据表及其结构,具体如表4-1至表4-10所示:
序号字段名字段类型长度字段值约束主键、外码描述
1 Controller bit 1 Not null 控制开关
4.3.3 系统的视图设计
此外本系统还用到了MS SQL Server 2000 的视图功能,在本系统中创建了四个视图,分别如下:
1.CSView(开课信息表查询或浏览时要用到此视图)如图4-17所示:
图4-17CSView
2.StuCSView(学生课表显示用到的视图)如图4-18所示:
图4-18StuCSView
3.StuCSForTchView(教师查询及显示学生成绩具体情况时用到此视图)如图4-19所示:
图4-19StuCSForTchView
4.StuCSForSysView(系统管理员查询及显示学生成绩具体情况时用到此视图)如图4-20所示:
图4-20StuCSForSysView
4.3.4 系统的关系图
系统的关系图如图4-21所示:
图4-21系统关系图
4.4 系统总体界面设计
该网上选课系统的登录界面初步设计如图4-22所示。
系统的主界面采用网页框架结构,初步设计图如图4-23所示。
图4-22系统登录界面梗概图
图4-23系统主界面设计图
5.系统的实现
本系统采用三层架构设计实现,它的工作原理如图5-1所示:
图5-1系统三层架构图
5.1 数据库的连接
本系统用到了两种类型的数据库连接方式:数据库连接池与JDBC连接方式。
5.1.1 数据库连接池的实现
数据库连接池概述:
数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。
对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。
数据库连接池正是针对这个问题提出来的。
数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。
这项技术能明显提高对数据库操作的性能。
数据库连接池在初始化时将创建一定数量的数据库连接放到连接池中,这些数据库连接的数量是由最小数据库连接数来设定的。
无论这些数据库连接是否被使用,连接池都将一直保证至少拥有这么多的连接数量。
连接池的最大数据库连接数量限定了这个连接池能占有的最大连接数,当应用程序向连接池请求的连接数超过最大
连接数量时,这些请求将被加入到等待队列中。
(引自文献[16])
JSP中tomcat的SQL Server2000数据库连接池的配置环境:
➢数据库:Microsoft SQL Server 2000
➢数据库驱动程序:net.sourceforge.jtds.jdbc.Driver
配置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>和</Host>之间。
<!--+++++++++++++++++++ pool for database of xuanke ++++++++++++++++ -->
<Context path="/xuanke" docBase="xuanke" debug="0" reloadable="true"
crossContext="true">
<Logger className="org.apache.catalina.logger." prefix="localhost_quality_log." suffix=".txt" timestamp="true" />
<Resource name="xuankepool" auth="Container" type="javax.sql.DataSource" />
<ResourceParams name="xuankepool">
<parameter>
<name>maxActive</name>
<value>50</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>30</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>5000</value>
</parameter>
<parameter>
<name>removeAbandoned</name>
<value>true</value>
</parameter>
<parameter>
<name>removeAbandonedTimeout</name>
<value>60</value>
</parameter>
<parameter>
<name>logAbandoned</name>
<value>false</value>
</parameter>
<parameter>
<name>factory</name>
<value>mons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>username</name>
<value>sa</value>
</parameter>
<parameter>
<name>password</name>
<value>123456</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>net.sourceforge.jtds.jdbc.Driver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:jtds:sqlserver://127.127.127.127:1433/xuanke</value>
</parameter>
</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>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
(3) 编写数据库连接池的数据库操作Bean。
源代码不在此列出,具体可参考源文件。
其类图如图5-2所示:
图5-2数据库连接池BEAN
5.1.2 JDBC连接方式的实现
JDBC连接方式是用到了微软公司的JDBCDriverforMSSQL2000。
把msbase.jar,mssqlserver.jar,msutil.jar三个JAR包放到$CA TALINA_HOME/common/lib目录下,并且将它们添加到“classpath”环境变量中,然后编写JDBC连接Bean即可。
在本系统中为JBean,源代码不在此列出,具体可参考源文件,其类图如图5-3所示:
图5-3JDBC连接BEAN
5.2 登录模块的实现
各用户需要先登录然后才可以进行相关的操作,因此设置了一个登录模块,在登录界面中有四种登录身份可选择,分别是“学生”、“教师”、“教务管理员”、“系统管理员”,用下拉列表框来实现,默认选项是“学生”,下面是用户名与密码输入框。
登录验证的全部逻辑都封装在一个JavaBean中,将其命名为Login,在该JavaBean 中会以用户在登录界面中选择的登录身份去查相应的数据表,如果存在该用户且密码正确就转到各用户相应的主界面中。
本系统的登录模块中用到了三个文件:index.jsp 、login.jsp 与Login.java,其工作流程如图5-4所示:
图5-4系统登录流程图
5.3 中间性验证的实现
网上选课系统是安全性要求比较高的系统,为了避免用户绕过登录界面非法进入操作界面,需要对每一个页面或是操作设置中间性验证。
实现方法是在每一个JSP文件的开头放置一段与用户身份相关的验证性代码,如果不合法就停止页面的执行或是转到登录页面提示用户要登陆后才能进行相关的操作。
举例如下:
<%
if(session.getAttribute("loginsign")==null){
out.println("<script language=javascript>");
out.println("alert('登录超时或还没登录,请重新登录!');");
out.println("top.location='../index.jsp'");
out.println("</script>");。