1、 摘 要信息技术和经济的发展,使计算机和网络的应用变得越来越普遍,随着政府对学校信息化建设投入的不断加大,校园网的建设获得空间的发展,网络已逐步渗透到学校管理,教学等各个方面。高校学生信息管理系统是一个有助于学校和学生之间进行信息交互的系统,包括系统维护和奖学金与荣誉称号评审两大模块。系统分为三级用户,管理员,教师,学生。管理员是最高权限者,拥有所有操作权限,教师拥有一级审核和查询权限,学生只有查询权限,当然,这也可以根据需要由管理员进行权限更改。奖学金与荣誉称号评审模块中,只有管理员可以增加奖学金和荣誉称号条款,学生从条款中获取信息,如果达到标准,则可以填表提交申请,教师进行一级审核,管理员
2、进行二级审核,学生可以在网上查询审核结果。本系统是以Browser/Server(浏览器/服务器)结构和JSP语言及SQL Server2000数据库和TOMCAT作为服务器开发的。在登陆中运用了图片验证防止暴力破解,在数据库中的密码运用MD5加密算法,以增加安全性。系统语言为Html和Java,移植性好,每块代码都分包存放,易于维护。关键词:JAVA;SQL Server2000;TOMCAT;Browser/Server;管理系统Design and Implementation of the Management System for College StudentAbstractAs
3、for the development of information technology and economic, computer and networking applications become increasingly common. With the school informational construction inputs are constantly increasing, the construction of campus network accesses to space development. Networks have gradually infiltra
4、ted into the school management, teaching and other areas. The MIS for college student is a system which can help exchange information between the school and students, including two modules named system maintenance and scholarships and the honorary title assessment the system is divided into three us
5、ers: administrators, teachers and students. Administrators have the highest authority. Teachers have an audit and inquiry authority. Students only provide with competence. Of course, it can also be based on the need for administrators to change authority. Only the administrator can increase the prov
6、isions of scholarships and the honorary title in the scholarships and honorary title assessment module. Students obtain information from the provision. If they are fit for the standards, they can fill in a form to submit applications. At first, teachers conduct audits, then administrators conduct au
7、dits again. The students can audit results on Internet. The system is based on Browser/Server (browser/server) structure and developed by JSP language and SQL Server2000 database. It also uses TOMCAT as a server. The system uses the photo certification to prevent violence breaking in landing and use
8、s the MD5 algorithm to increase safety in the password of database. The system is written by the language: HTML and Java. So it can be easily transplant, each code can be stored as sub-block and easily be vindicated.Key words: JAVA;SQL Server2000;TOMCAT;Browser/Server;Management System目 录 论文总页数:24页1
9、引言11.1课题背景及意义11.2课题开发的目的11.3系统的开发方法11.4相关技术和开发工具12系统分析22.1需求分析22.2数据库分析与设计33系统描述73.2项目框图73.3系统性能要求83.4系统所需的环境要求84系统实现94.1登陆模块实现94.2验证码,MD5和连接池简介114.3系统管理功能实现144.4奖学金申请模块功能实现174.5荣誉称号申请模块功能实现19结 论21参考文献22致 谢23声 明241 引言1.1 课题背景及意义 随着我国教育产业化的飞速发展,社会对教育水平和教学管理软硬件的要求日益提高,尤其是对一个学校能够具有一整套的学生信息管理软件提出了更多的要求。
10、为了适应这种形式,教育系统尤其是大学不仅首先要有坚实的硬件基础,还要有一整套完善的学生信息管理软件管理系统。而要实现这一功能,就要求学校管理者配备一套高效的管理网络系统,以便在学校内实施良好的完善的管理且以最快地速度响应老师和学生以及企业的需求,及时为他们提供服务,为他们提供一个高效,便捷的平台。学校学生信息管理系统是校园网络中一个重要的应用系统,它大大优化了学校教学,科研与管理的基础环境,在一定程度上反映出学校管理现代化的水平。本文对这一系统的若干基本问题进行研究,主要包括学校管理信息系统的功能组成,系统开发条件,步骤及其总体规划等内容。1.2 课题开发的目的 本课题为了适应信息时代发展,提
11、高学院工作效率和办学水平,实现现代化大学的运行机制和高水平的管理,体现学院自己的特色,把本学院建设成为一流的信息学院。用“数字化校园”的整体概念来统一规划,组织和建设学院的办公自动化系统,数字化管理系统,网站系统。同时为了让企业及学校能高效的对学生进行信息传递,让学生能更快地接收到学校的信息而设计这一系统。1.3 系统的开发方法本系统是以Browser/Server(浏览器/服务器)结构和JSP语言及SQL Server2000数据库和TOMCAT作为服务器开发的学生信息管理系统。首先,使用JSP具有较好的安全性和可移植性,具有动态页面和静态页面分离,能够脱离硬件平台的束缚,而使用Browse
12、r/Server结构是因为这种结构可以减少客户端很大维护工作量,且具有很强的使用范围的伸缩性,客户端通过浏览器统一界面,就可以完成内部的信息处理和外部环境的信息查询,而使用SQL Server2000主要是由于它有快捷而健全的数据库查询引擎,能够保护数据库以防止不合法的使用所造成的数据泄露,更改或破坏,SQL Server提供多层用户身份验证的安全保证,其次,学院要求用JSP来实现系统功能,基于以上两方面的原因,我采用了JSP来实现系统的建设。1.4 相关技术和开发工具1.4.1 JSP介绍JSP(javaServer Pages)是由Sun Microsysterms公司倡导,许多公司参与一
13、起建立的一种动态网页技术标准。这项技术为创建显示动态生成内容的Web页面提供了一个简捷而快捷的方法。这项技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web服务器,应用服务器,浏览器和开发工具共同工作。Jsp文件不能由浏览器直接运行,而需由web服务器解释执行,Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,即HTML文件。1.4.2 SQL Server 20
14、00介绍SQL Server 2000是Microsoft 公司推出的SQL Server 数据库管理系统的最新版本,该版本继承了SQL Server7.0版本的优点,同时又比它增加了许多更先进的功能,具有使用方便,可伸缩性好与相关软件集成程度高等优点。与普通的本地类型数据库系统(例如VFP,DBASE,PARADOX,ACCESS)等不同,本地类型的数据库系统只是简单的文件存取,缺乏SQL SERVER2000等系统所拥有的诸如:数据完整性、安全性、事务处理、网络多用户处理等必备的功能。1.4.3 TOMCAT介绍Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Ja
15、karta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。与传统的桌面应用程序不同,Tomcat中的应用程序是一个WAR文件。WAR是Sun提出的一种Web应用程序格式,与JAR类似,也是许多文件的一个压缩包。这个包中的文件按一定目录结构来组织:通常其根目录下包含有Html和Jsp文件或者包含这两种文件的目录,另外还会有一个WEB-INF目录,这个目录很重要。通常在WEB-INF目录下有一个web.xml文件和一个classes目录,web.xml是这个应用的配置文件,而classes目录下则包含编译好的Servlet类和Jsp或Servlet所依赖的其它类(如J
16、avaBean)。通常这些所依赖的类也可以打包成JAR放到WEB-INF下的lib目录下,便于移植。Tomcat确实是一个很好的工具,运用起来比较容易上手,适合初学者,而且免费,功能也相当全面。2系统分析2.1需求分析2.1.1 工作流程分析 高校学校工作总体规划由教务人员在学生信息管理系统中完成教务处所需的基本数据的维护,包括这些信息的增加、修改及对各项信息的变动都将在计算机上进行操作。 而目前,每次奖学金的评比和荣誉称号的评比都是以班主任在学生和教务处间进行信息传递。学生对班导进行申请,班导提交到教务处,教务处请示系领导进行分析评比。并进行奖学金发放,这一系列都手工进行,浪费了相当一部份人
17、力物力在不必要的琐碎环节上。2.1.2 系统设计思想 采用现有的资源,先进的管理系统开发方案,充分利用学校现有的资源,减少开发中的时间和财力、物力、提高系统开发的水平和应用效果。 系统就满足学校的需求,例如学生信息的录入、查询、更新等。 系统就具备数据库维护功能,及时根据用户需求进行数据添加、删除、修改等操作。2.1.3 系统设计分析 本系统适用于高等院校,其功能主要分为两大类: 系统维护:用于对用户的添加,赋于不同权限及对用户的修改及查询。 奖金评定:用于学生对奖学金和荣誉称号的申请和院系审核评定。 本系统性能力求易于使用,具体有较高的扩展性和可维护性。2.1.4 系统功能分析 权限功能:为
18、用户设置权限功能,可分为学生,教师,管理员。学生只是查询不能修改,教师只能对授权范围内进行相应修改及删除,管理员能修改、删除所有信息。 录入功能:为教师提供相应的录入功能,为管理员提供对所有信息的录入功能。 查询功能:为所有用户提供查询的功能,可查询允许范围内的所有信息。 维护功能:为教师提供查询及相应的修改,删除功能,为管理员提供对所有信息的修改删除功能。 退出功能:结束并返回登陆界面。2.1.5学生信息系统的目标 节约资源,提高学生信息的精确度 本系统能减少很多不必要的资源,不用象以前那样用冗余的纸张式的管理。大节省了学校能源。并且计算机的存储与快速查询功能大大提高了学生信息管理的效率,并
19、且还提高了学生信息信息管理的精确度。 方便快速操作,精简人员,节约开支 。 方便快速的操作,可减少学生信息信息管理的漏洞,又减少因工作的冗余出现的错误,并且操作非常简单,可减少许多不很必要的人员,这无论从物质上还是工作人员的工资上都为学校节约了开支。为学校增加了财富。 2.2数据库分析与设计 用户需求具体有学生信息管理系统提供保存、更新、查询、维护和打印,这就需求数据库结构能充分满足各种信息的输入与输出,实现有组织地、动态地存储大量关联数据,方便用户访问系统中的数据,它与文件系统的重要区别是数据的充分共享,交叉访问,与应用程序的高度独立性。 数据流图描述:本系统从总体上分为成员管理,系统维护管
20、理,奖学金管理,困难学生补助管理,勤工俭学管理,违纪处分管理,保险管理信息七大部分。每个模块有自己的作用。下面的各模块功能流图就是由各功能之间的关系而得出的。 表1 权限设置:序号字段中文名称1.权限维护2. 密码修改用户口令3.设置奖学金4.设置荣誉称号5.奖学金审核6.荣誉称号审核7.8.9.表2 权限管理RIGHT_AD序号字段中文名称字段英文名称数据类型PKNULL备注10.用户名USERNAMECHAR(20)YesNO用户名为学生学号或教师,管理员名字拼音11. 密码密码PASSWORDCHAR(20)12.身份标识IDENTITYCHAR(2)NO学生/教师/管理员13.权限RI
21、GHTCHAR(20)表3 学生用户STU_AD序号字段中文名称字段英文名称数据类型PKNULL备注1.IDIdIdentity(1,1)no2.学号STU_NOCHAR(20)YesNO3.姓名STU_NAMECHAR(20)NO4.班级CLASSCHAR(10)NO5.专业SPECIALITYCHAR(20)NO6.系别DEPARTMENTCHAR(20)NO表4 教师用户 TEA_INFO序号字段中文名称字段英文名称数据类型PKNULL备注1.IDIDIDENTITY(1,1)2.工号Dep_NOCHAR(20)YESNO3.姓名Dep_NAMECHAR(20)NO4.系别DEPARTM
22、ENTCHAR(30)NO5.6.表5 管理员信息 ADMIN_INFO序号字段中文名称字段英文名称数据类型PKNULL备注1.IDIDIDENTITY(1,1)2.工号ADMIN_NOCHAR(20)YESNO3.姓名ADMIN_NAMECHAR(20)NO4.5.表6 奖学金信息设定 BURSARY_PARAMETER序号字段中文名称字段英文名称数据类型PKNULL备注1.奖学金序号IDINTYESNO自加12.年度YEARDATENO3.奖学金名称BURSARY_NAMECHAR(30)NO4.总额TOTAL_FEEDOUBLENo5.分配总人数TOTAL_PERPONINT6.已通过审
23、核人数TOTAL_AUDITINT0,1,2代表没有审核,1代表通过学院,2代表通过审核7.时间限定End_TIMEDATENo8.申请条件REQCDTVARCHAR(200)NO表7 奖学金人员信息 BURSARY_STU序号字段中文名称字段英文名称数据类型PKNULL备注1.奖学金序号IDINTYesNO从BURSARY_PARAMETER中获取2.奖学金年度YEARDATENO从BURSARY_PARAMETER中获取3.奖学金名称BURSARY_NAMECHAR(30)NOBURSARY_PARAMETER中获取4.申请人姓名REQ_STU_NAMECHAR(30)NO从STU_INF
24、O中获取5.申请人班级REQ_STU_CLASSCHAR(4)NO6.申请人专业REQ_STU_SPECHAR(20)7.申请人系别REQ_STU_DEPCHAR(30)NO从STU_INFO中获取8.申请人学号REQ_STU_NOCHAR(20)从STU_INFO中获取9.申请等级REQ_LEVELCHAR(1)NO13等10.申请资金REQ_FEEINT NO11.审核情况AUDIT_STATICCHAR(1)NO12.申请原因REQCDTVARCHAR(200)NO表8 荣誉称号信息设定 HON_PARAMETER序号字段中文名称字段英文名称数据类型PKNULL备注1.荣誉序号IDINT
25、YESNO自加12.年度YEARDATENO3.荣誉称号名称BURSARY_NAMECHAR(30)NO4.分配总人数TOTAL_PERPONINT5.已通过审核人数TOTAL_AUDITINT0,1,2代表没有审核,1代表通过学院,2代表通过审核6.时间限定End_TIMEDATENo7.申请条件REQCDTVARCHAR(200)NO表9 荣誉称号人员信息hon_stu序号字段中文名称字段英文名称数据类型PKNULL备注1.荣誉称号序号IDINTYesNO从BURSARY_PARAMETER中获取2.荣誉称号年度YEARDATENO从BURSARY_PARAMETER中获取3.荣誉称号名称
26、BURSARY_NAMECHAR(30)NOBURSARY_PARAMETER中获取4.申请人姓名REQ_STU_NAMECHAR(30)NO从STU_INFO中获取5.申请人班级REQ_STU_CLASSCHAR(4)NO6.申请人专业REQ_STU_SPECHAR(20)7.申请人系别REQ_STU_DEPCHAR(30)NO从STU_INFO中获取8.申请人学号REQ_STU_NOCHAR(20)从STU_INFO中获取9.审核情况AUDIT_STATICCHAR(2)NO10.申请原因REQCDTVARCHAR(200)NO11.3系统描述3.1系统功能介绍系统维护模块:管理员拥有所有
27、权限,修改口令中可以查询修改老师和学生登陆密码,对六种权限:权限维护,修改用户口令,设置奖学金,设置荣誉称号,奖学金审核,荣誉称号审核进行分配。教师和学生则只能修改密码,且是自己的密码。管理员可以给教师和学生授权,授权后教师和学生也拥有相应的操作。奖金评比模块:该模块包括奖学金评比和荣誉称号评比两个方面。奖学金评比中,管理员用户可以发布新的奖学金项目,对项目内容进行一系列的设置,并对学生提交的申请进行二级审核。教师则负责对学生提交的申请进行一级审核。学生用户进入系统,查询项目后,如果符合要求,则可以提交申请,按条款注明,等待审核。三个等级的用户都可以对审核结果进行查询。荣誉称号评比和奖学金评比
28、相同,管理员用户发布新的项目与进行二级审核,教师进行一级审核,学生提交申请,等待查询结果。3.2项目框图 图1 项目框架总图3.3系统性能要求系统对(Windows 2000 Server/IIS5.0/Tomcat/j2se1.4/SQL Server2000)环境能很好满足;系统的交互性较好,系统提供的交互式实例应做出较好的响应;系统通过对用户登陆进行图片验证,来防止非法用户对系统密码进行暴力破解,对数据库密码运用了MD5加密方法。对不同用户登陆进行不同的权限分配,以此来保护系统的安全性。可维护性:系统中的各种功能都封装于各Javabean包中实现,而界面则使用JSP语言设计。对于哪个功能
29、有问题时,只需要对相应的包进行处理而不需要涉及其他模块中的代码,所以系统具有易维护性。3.4系统所需的环境要求硬件环境: 服务器端:CPU:Intel P1GHz或者P4内存:512MB以上硬盘:80GB以上客户端:CPU:Intel PIII 500MHz内存:256MB硬盘空间:20GB 软件环境: 服务器端:Windows 2000 Server. SQL Server 2000 数据库 TOMCAT服务器客户端:运行系统要带IE浏览器5.0及更高版本4系统实现4.1登陆模块实现4.1.1 功能描述: 图2 登陆界面登录界面如图2,用户通过学生,教师,管理员3种权限进行登录,系统自动判断
30、用户的身份,验证码是由jsp随机生成,防止恶意破解密码,避免造成数据库压力过大,导致数据库崩溃4.1.2 代码描述: 判断验证码获取到随机生成的验证码String verify1=(String)session.getAttribute(rand);用把随机验证码与提交的验证比较,如果不相等,则将返回一个failedif(!verify1.equals(verify)forward=verifyfailed; 判断用户名,密码和身份将用户输入的值传递给静态函数比较,返回不同的值,只有返回2时,登录成功 4个参数分别为数据库连接对象,用户名字符,密码字符,身份字符。同时提交的密码通过调用静态函数
31、进行MD5加密String PWD=ADDMD5.MD5(password);int result=DBManager.Equals(db, USER, PWD, IDENT);if(result=2)forward=sucesses;else if(result=1)forward=failed;else if(result=0)forward=failed;图3 权限划分表单用户登录信息存储在right_ad表中,如图3所示 将信息存到session中if(forward.equals(sucesses) /如果验证是正确的,则将该用户的信息存到session中UserInfo user=
32、new UserInfo(); /新建一个userinfouser=user.getUserInfo(USER, IDENT); /将用户信息存储在userinfo里面,然后在返回一个userinfo的对象session.setAttribute(userinfo,user); /将用户信息保存在session里面用户信息从2个表中取得right_ad(图2)取得权限(right_info),getUserinfo()函数通过身份判断从Admin_info(图4),stu_info(图5)或是tea_info(图6)从获取到用户信息图4 管理员信息表单 图5 学生信息表单图6 教师信息表单返回
33、一个响应/最后将请求返回一个ActionForward对象交由Servlet,Servlet通过该对象的path属性将请求返回响应return (mapping.findForward(forward);4.2验证码,MD5和连接池简介4.2.1 验证码的实现:本次设计使用验证码技术的意义:不少网站为了防止用户利用机器人自动注册、登录、灌水,都采用了验证码技术。所谓验证码,就是将一串随机产生的数字或符号,生成一幅图片,图片里加上一些干扰象素(防止OCR),由用户肉眼识别其中的验证码信息,输入表单提交网站验证,验证成功后才能使用某项功能。验证码生成过程说明: login.jsp主页面通过此语句调
34、用jsp文件,由jsp文件里面的java代码生成该图片,并且将验证码存到session中,以便登录时获取到图片中的验证码4.2.2 MD5概述: MD5的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2、MD3和MD4发展而来。MD5将任意长度的“字节串”变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理上说,是因为原始的字符串有无穷多个,这有点象不存在反函数的数学函数。调用方
35、法:通过静态函数String AddMd5.md5(String str)参数str为需要转换的字符4.2.3数据库连接池概述: 本次设计使用了连接池,在于使用连接池能优化数据库连接。数据库连接池在初始化时将创建一定数量的数据库连接放到连接池中,这些数据库连接的数量是由最小数据库连接数来设定的。无论这些数据库连接是否被使用,连接池都将一直保证至少拥有这么多的连接数量。连接池的最大数据库连接数量限定了这个连接池能占有的最大连接数,当应用程序向连接池请求的连接数超过最大连接数量时,这些请求将被加入到等待队列中这项技术能明显提高对数据库操作的性能。连接池配置代码:在server.xml中配置以下代码
36、段factorymons.dbcp.BasicDataSourceFactorymaxActive100maxIdle30maxWait5000usernamerootpasswordrootdriverClassNamecom.microsoft.jdbc.sqlserver.SQLServerDriverurljdbc:microsoft:sqlserver:/127.0.0.1:1433;DatabaseName=Unversity调用方法:在java文件采用JNDI技术取得数据源从而获得数据库连接Context ctx=new InitialContext(); /建立一个contex
37、t对象通过JNDI获得数据源对象DataSource ds=(DataSource)ctx.lookup(java:comp/env/sqlDB);建立一个数据库连接对象Connection connection=ds.getConnection();4.3系统管理功能实现图7 系统维护主页面4.3.1用户维护子模块: 功能描述:单击用户维护如下页面,可以通过选择身份,部门,专业,班级查询到用户,在单击用户的工号,或学号的超链接跳转到用户维护页面 图8 用户维护查询页面修改页面,在模块树复选框打勾,将该模块使用权限付给用户图9 用户维护权限页面 代码描述:图10 left.jsp页面这是lef
38、t.jsp页面,如图10所示,部分代码如下:/通过session获取到用户的权限字符串对象/通过判断第1位取得用户维护使用权权限维护用户维护口令维护修改口令/通过判断第2位取得修改用户口令使用权修改用户口令4.3.2修改口令子模块: 功能描述单击修改用户口令如下页面,可以通过选择身份,部门,专业,班级查询到用户,在单击用户的工号,或学号的超链接跳转到修改用户口令页面图11 口令修改查询页面修改页面如下图:图12 口令修改页面 代码描述:String password=ADDMD5.MD5(password); /将管理员用户密码加密String password1=ADDMD5.MD5(pas
39、sword1); /将要修改的用户密码加密int num=DBManager.ChangeUserPWD(db, username1, username2, password, password1);if(num=0)forward=changeuserfailed; /将管理员用户和密码,将要修改的用户和密码作为参数传递到ChangeUserPWD函数else forward=changeusersucesses; /由该函数处理,如果返回0则说明修改失败Return new ActionForward(/WEB-ROOT/system/changeother.jsp?id=+fw+&un=+un2) /直接把响应返回给jsp页面4.4奖学金申请模块功能实现系统描述:管理员设置奖学金参数,如名称,最大人数,总额限定,申请最后日期,申请条件,学生在申请表里面查询到该学金申请条件,然后提出申请.教师和管理员负责审核学生的申请,学生可以查询到申请结果流程:管理员设置奖学金-学生申请-系审核-学院审核4.3.1功能描述图13 管理员设置奖学金页面图14 学生申请教学金页面.注:在申请类别里面只能获取到最迟申请日期以前的类别图15 审核页面单击复选框,审核该学生注:只能先用教师的用户(系审核)审核后才能由管理员审核(学院审核).4.3.2代码描述审核jsp页面伪代码%/翻页对象