1、LVLIANG UNIVERSITY分类号: 密 级: 课程设计题 目: 学生奖助学金管理系统设计与实现 系 别: 计算机科学与技术系 专业年级: 计算机科学与技术2011级(专升本)姓 名: 靳书敏 学 号: 20131104310 指导教师: 王里平 2014年11月23日 吕梁学院本科毕业论文(设计)学生奖助学金管理系统设计与实现摘 要本文介绍了学生奖助学金管理系统的整个开发过程,阐述了项目开发的背景、项目开发的目标及意义、系统分析、系统架构设计、系统详细设计和实现、系统测试的全过程。系统具有学生模块、辅导员模块、教务处模块、管理模块等功能模块,各模块有其相应功能,如辅导员功能够实现辅导
2、员登录后进入辅导员模块,辅导员可对注册的学生进行增、删操作、可对学生的成绩和奖惩进行增、删、改、查,以及审核学生的资格,辅导员确认学生的信息无误后将审核通过的学生呈报给教务处等功能。本系统界面友好,操作简单,比较实用。系统是使用JSP技术进行动态页面的设计,运用JavaBean对程序的关键代码进行封装,数据库采用Mysql,使用Java JDBC驱动程序连接数据库,Tomcat作为应用服务器。关键词: 管理系统;JSP;JavaBean;数据库;JDBC目 录第1章 绪 论- 1 -1.1 项目开发背景- 1 -1.2 项目开发的目标- 1 -1.3 项目开发的意义- 1 -第2章 项目开发的
3、技术基础- 2 -2.1项目开发常用技术- 2 -2.1.1 HTML语言概述- 2 -2.1.2 JavaScript- 2 -2.1.3 JSP技术- 2 -2.1.4 SQL语言介绍- 4 -2.1.5 JDBC- 5 -2.2 搭建Java Web开发环境- 5 -2.2.1 安装预配置JDK- 5 -2.2.2 安装Java Web开发工具NetNeans- 6 -2.2.3 安装MySQL及其开发环境- 6 -2.2.4 安装服务器Tomcat- 6 -2.2.5 安装GlassFish- 6 -第3章 系统分析- 8 -3.1 需求分析- 8 -3.2 可行性分析- 8 -3.2
4、.1 技术可行性- 8 -3.2.2 经济可行性- 9 -3.2.3 操作可行性- 9 -3.3 设计思想- 9 -3.4 系统功能模块- 9 -3.5 系统功能描述- 10 -第4章 系统架构设计- 11 -4.1 系统功能逻辑设计结构图- 11 -4.2 数据库的设计与实现- 11 -4.2.1 系统数据分析- 11 -4.2.2 数据库概念结构设计- 12 -4.2.3数据库主要表结构说明- 14 -4.2.4数据库逻辑结构设计- 14 -第5章 系统详细设计与实现- 17 -5.1 数据库的连接实现- 17 -5.1.1 连接数据库方法- 17 -5.1.2 建立用户- 18 -5.1
5、.3 数据库接口- 18 -5.2 系统主界面实现- 18 -第6章 系统测试- 23 -6.1 系统测试- 23 -6.2 系统测试目的- 23 -6.3 单元测试分析- 23 -6.3.1 对系统登录、退出模块的测试- 23 -6.3.2 对系统管理模块增删改查功能的测试- 24 -6.4 测试分析总结及说明- 24 -6.5 系统维护- 24 -第7章 结论与展望- 26 -7.1 结论- 26 -7.2 问题与展望- 26 -致 谢- 27 -第1章 绪 论1.1 项目开发背景本设计为学生奖助学金管理系统软件,是基于目前学校规模的增大而使得学生人数剧增,学生奖助学金管理需及时实现家庭信
6、息的调查、审核、评定,了解学生更全面的信息前提下,学校对学生奖助学金管理自动化与准确化的要求日益强烈的背景下构思出来的,该软件设计完成后可用于学生奖助学金管理。本系统为独立开发,力求使系统功能齐全简洁明了,且易于操作。1.2 项目开发的目标建立学生奖助学金管理系统,采用计算机进行管理,进一步提高办学效益和促进教学管理的现代化水平,实现学生信息管理工作流程的系统化、规范化。本项目采用JSP Model-1设计模式,使用JSP技术进行动态页面的设计,从系统的安全性和代码的可重用性方面考虑,运用JavaBean对程序的关键代码进行封装,使用Java JDBC驱动程序连接数据库,最后实现信息的增删改查
7、等管理操作。1.3 项目开发的意义一个功能齐全、简单易用的学生奖助学金管理系统不但能有效地减轻学校教学管理者的工作负担,同时也使学生信息的处理方便快捷,所以学生奖助学金管理系统应该能够为用户提供公平的奖助学金综合评定手段。一直以来人们使用传统的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、人工的大量浪费、综合评定不全面。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着来越重要的作用。作为计算机应用的一部分,使用计算机对学校的奖助学金进行管理,具有手工管理所无法比拟的优点。如果本文所研究的高校奖学金系统开发成
8、功,并经测试后能顺利投入使用,对高校的学生管理部门来讲将会大大减少工作人员的工作量,提高工作效率,减少了人力、物力和财力,这些都是开发和使用本系统将带来的间接收益,同时也将促进学校信息化的进程,提高学院的管理效率。本人在校期间学习了Java语言、数据库设计、Java Web开发等知识,借这次毕业设计的契机,运用所学知识开发学生信息管理系统,希望通过这次实践提升自身对软件工程、数据库、程序设计等理论的认识,积累系统开发的经验。第2章 项目开发的技术基础2.1项目开发常用技术2.1.1 HTML语言概述HTML(HyperTextMarkupLanguage超文本标记语言)是一种用来制作超文本文档
9、的简单标记语言。HTML文件是带有特定HTML插入标记的用以编排文档属性和格式的标准文本文件。它能独立于各种操作系统平台(如UNIX,WINDOWS等)。自1990年以来HTML就一直被用作WorldWideWeb上的信息表示语言,用于描述HomePage的格式设计和它与WWW上其它HomePage的连结信息。HTML文档(即Homepage的源文件)是一个放置了标记的ASCII文本文件,通常它带有.html或.htm的文件扩展名。生成一个HTML文档主要有以下三种途径:(1) 手工直接编写。(2) 通过某些格式转换工具将现有的其它格式文档转换成HTML文档。(3) 由Web服务器(或称HTT
10、P服务器)一方实时动态地生成。一般的HTML页面具有如下的结构:html,这是HTML正文部分/body可见在一个HTML网页文件中,一般必须有一对html标记作为文件的开头和结尾,在标记后是头部标记,其后是实体标记。2.1.2 JavaScriptJavaScript是应用程序在网页上脚本表达语言,可以将脚本嵌入Web页中。通常脚本在服务器上运行,但也可以采用客户端和服务器端结合使用,JavaScript是JSP的默认脚本语言。2.1.3 JSP技术JSP(Java Server Page)是一种实现普通静态HTML和动态页面输出混合编码的技术。从这一点来看,非常类似Microsoft AS
11、P、PHP等技术。借助形式上的内容和外观表现的分离, Web页面制作的任务,可以比较方便地划分给页面设计人员和程序员,并方便地通过JSP来合成。在运行时,JSP将会被首先转换成Servlet,并以Servlet的形态编译运行,因此它的效率和功能与Servlet相比没有差别,一样具有很高的效率。JSP是Java Server Page的缩写,是由Sun Microsystems公司倡导、许多公司参与建立一种动态网页技术标准,它在动态网页的建设中有强大而特别的功能。JSP是一种服务器端HTML(或XML)嵌入Java代码的脚本语言,是开发Web动态网站快速而有效的工具,JSP的技术的优势:(1)
12、JSP技术是用Java语言作为脚本语言的。Java语言是成熟的、强大的、易扩充的编程语言。(2) 高效性与安全性。JSP在执行前先被编译成字节码,字节码由Java虚拟机解释执行,比源码解释效率高。(3) 可维护性。由于JSP技术是一种开放的、跨平台的结构,因此Web服务器、平台及其他组件能很容易升级或切换,且不会影响JSP基本的应用程序。(4) 稳定性。(5) 产品的多样性。目前,在国内JSP还是一种较新的技术。但JSP+Servlet+JDBC+JavaBean目前已经成为开发电子商务平台的主流技术。随着国内与国际的接轨,JSP必将成为网站开发技术的首选。在传统的网页HTML文件(*.htm
13、,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。JSP页面看上去象标准的HTML和XML页面,并附带有JSP引擎能够处理和抽取的额外元件。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给用户。程序片段可以操作数据库、重新定向网页以及发送E-mail等,这就是建立动态网站所需要的功能。所有程序都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低。它基于强大的Java语言,具有良好的伸缩性,在网络数据库应用开发领域具有得天独厚的优势。 JSP技术在多个方
14、面加速了动态Web页面的开发:(1) 将内容的生成和显示进行分离使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求来变化的,例如请求帐户信息或者特定的一瓶酒的价格)。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和Beans中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。在服务器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用
15、JDBCTM技术访问数据库,或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。(2) 强调可重用的组件绝大多数JSP页面依赖于可重用的,跨平台的组件(JavaBeans或者Enterprise JavaBeansTM组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。(3) 采用标识简化页面开发Web页面开发人员
16、不会都是熟悉脚本语言的编程人员。JavaServer Page技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。通过开发定制化标识库,JSP技术是可以扩展的。今后,第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。(4) JSP能提供所有Servlets功能与Servlets相比,JSP能提供所有Servlets功能,它比用Pr
17、intln书写和修改HTML更方便。可以更明确地进行分工,Web页面设计人员编写HTML,只需留出空间让Servlets程序员插入动态部分即可。JSP技术能够支持高度复杂的基于Web的应用。(5) 健壮的存储管理和安全性由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译成为Java Servlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。(6) 一次编写,各处运行作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。随着越来越多的供应商将JSP支持添加到他们的产品中,您可以使用自己所选择的服务器和工具,更改
18、工具或服务器并不影响当前的应用。2.1.4 SQL语言介绍SQL是英文StructuredQueryLanguage的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如Oracle、Sybase、Access、MicrosoftSQLServer等都采用了SQL语言标准。虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select、Insert
19、、Update、Delete、Create以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。在众多的SQL命令中,select语句应该算是使用最频繁的。select语句主要被用来对数据库进行查询并返回符合用户查询标准的结果数据。select语句中位于select关键词之后的列名用来决定哪些列将作为查询结果返回。用户可以按照自己的需要选择任意列,还可以使用通配符“*”来设定返回表格中的所有列。select语句中位于from关键词之后的表格名称用来决定将要进行查询操作的目标表格。除了上面所提到的运算符外,LIKE运算符在where条件从句中也非常重要。LIKE运算符的功能非
20、常强大,通过使用LIKE运算符可以设定只选择与用户规定格式相同的记录。2.1.5 JDBCJDBC(Java Database Connectivity,数据库访问接口),它使数据库开发人员能够用标准Java API编写数据库应用程序。JDBC API主要用来连接数据库和直接调用SQL命令执行各种SQL语句。利用JDBC API可以执行一般的SQL语句、动态SQL语句及带IN和OUT参数的存储过程。Java中的JDBC相当于Microsoft平台中的ODBC(Open Database Connectivity)。2.2 搭建Java Web开发环境2.2.1 安装预配置JDK JDK简介:J
21、DK (Java Development Kit),是SUN公司最新提供的基础Java语言开发工具软件包。其中包含Java语言的编译工具、运行工具以及类库。JDK下载与安装:JDK是一个开源、免费的工具。可以到SUN公司的官方网站上下载JDK最新版本,网址为http:/ index.jsp。本书使用的JDK版本是Java SE Development Kit 6u25。下载后得到jdk-6u25-windows-i586.exe文件,直接双击运行即开始安装。在安装过程中可以选择安装路径和安装组件,如果没有特殊要求,保留默认设置即可。默认的安装路径是C:Program FilesJavajdk1
22、.6.0_25。之后,设置环境变量如下:JAVA_HOME=CLASSPATH=.;%JAVA_HOME%lib;%JAVA_HOME%libtools.jarPath=;%JAVA_HOME%bin;%JAVA_HOME%jrebin2.2.2 安装Java Web开发工具NetNeansNetBeans简介:NetBeans是Sun公司推出的开放源码的Java集成开发环境(Integrated Development Environment,IDE)。它是使用Java语言编写的,具有很好的可移植性,适用于各种客户机和Web使用,是业界第一款支持创新型Java开发的开放源码IDE。使用Net
23、Beans可以更快地Java Web应用程序,跟踪Java EE最新技术,体验快速开发的便捷。2.2.3 安装MySQL及其开发环境Mysql简介:MySQL是瑞典MySQL AB公司开发的一个小型关系型数据库管理系统。在2008年被Sun公司收购。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体成本而选择了MySQL作为网站后台数据库系统。使用Java连接到Mysql,需要用到MySql Connector/J,这是MySql的JDBC驱动程序包。mysql-connector-java
24、-5.1.16-bin.jar包是MySql的JDBC连接驱动包。2.2.4 安装服务器TomcatTomcat简介Tomcat服务器是在SUN公司的JSWDK(JavaServer Web DevelopmentKit,Java服务器Web开发工具)基础上发展起来的一个优秀的Servlet/JSP容器,它是Apache-Jakarta软件组织的一个子项目。它不但支持运行Servlet和JSP,而且还具备了作为商业Java Web应用容器的特征。 2.2.5 安装GlassFishGlassFish简介:GlassFish是用于构建Java EE 5/6应用服务器的开源开发项目的名称。它基于S
25、un Microsystems提供的Sun Java System Application Server PE 9的源代码以及Oracle贡献的TopLink持久性代码。GlassFish提供了开发高质量应用服务器的结构化过程,以前所未有的速度提供新的功能。 第3章 系统分析学生信息管理,作为学校的日常工作之一,它的工作量可能是其它信息工作量的几倍,学生信息管理、成绩管理、数据统计以及学校新闻公告的发布等等,每个信息的数据都在不断地变化着,如果采用人工的方式进行操作,那么将会比较繁琐。为了使工作变得简单高效,针对这样的情况,提出开发学生信息管理系统这一课题,并对其中的功能进行了部分的设计与实现
26、。3.1 需求分析通过对学校信息系统的了解及实际调查,要求本系统实现以下功能。系统需要满足学生、教师、教务管理员三种身份的人员进行登录。功能需求:高校奖学金评定系统不但要能对学生获得奖学金的等级进行评定和统计,还要能够实现对数据表进行录入、修改、删除、查询等操作。性能需求:高校奖学金评定系统要求在操作时简单方便、尽量少输汉字、有较好的容错性、健壮性强、无运行时间限制等。数据库结构:提高数据库的完整性和便予管理员的操作管理,高校奖学金评定系统在创建数据库时要将数据表通过某种关联组织起来。环境需求:本软件要求能在Windows操作系统下运行。用户界面需求:要求界面友好,采用人性化设计,操作简单,尽
27、量少输入汉字,并能够实现尽可能多的用户需求。3.2 可行性分析3.2.1 技术可行性本系统主要利用网络平台方便地进学生信息管理,从目前IT业界比较流行的数据库开发、管理软件来看,Sun公司的JAVA开发平台和Mysql数据库的结合无疑是在实际应用中较为成功的一种解决方案。为用户提供了业界软件开发一直坚持的非常友好、操作简单的用户界面、完善强大的数据库操作功能和简洁明了的数据库接口,而且Java开发的系统具有跨平台使用、简单、稳定、安全、运行快、企业应用平台成熟的优势,提供的技术支持很完备,所以技术实现起来相对容易;另外我在大学期间学习了Java语言、网页设计、数据库设计、Java Web开发等
28、知识,并具备了简单开发的能力,不论从客观还是自身技术方面,都可以达到学生信息管理系统的开发要求。3.2.2 经济可行性由于本系统只作为毕业设计,所以对它的经济可行性没做过多的考虑。3.2.3 操作可行性本系统的界面设计简单直观,易于理解。它使用微软公司的WINDOWS系统为操作平台,操作起来很容易上手。3.3 设计思想学生信息管理系统设计的基本思想是把整个系统按照实现模块进行分解,利用JSP+JavaBean进行编程。JSP与JavaBean搭配使用有以下3个好处1:(1) 使得HTML与Java程序分离,这样便于维护代码。如果把所有的程序代码都写到JSP网页中,会使得代码繁杂,难以维护。(2
29、) 可以降低开发JSP网页人员对Java编程能力的要求。(3) JSP侧重于生成动态网页,事物处理由JavaBean来完成,这样可以充分利用JavaBean组件的可重用性特点,提高开发网站的效率。图3-1 系统设计模型图3.4 系统功能模块通过分析系统需实现的功能和系统操作流程,得出以下的功能模块。(1) 学生模块(2) 辅导员模块(3) 教务处模块(4) 管理员模块(5) 权限模块3.5 系统功能描述1、学生模块学生登录后进入学生模块,学生可录入申请资料(个人信息、学生家庭情况)、可查询自己的成绩和奖惩情况,录入和查询自己的资料信息无误后可提交。2、辅导员模块辅导员登录后进入辅导员模块,辅导
30、员可对注册的学生进行增、删操作、可对学生的成绩和奖惩进行增、删、改、查,以及审核学生的资格,辅导员确认学生的信息无误后将审核通过的学生呈报给教务处。3、教务处模块教务处领导登录后进入教务处模块,教务处领导对学生的信息查询、审核后将审核通过的学生呈报到教育局,得到教育局确认后发布获得奖学金的学生。4、管理员模块管理员在本模块中有着最高的权力。5、权限模块所有web页面需要页面权限验证,对不同的模块分配不同的访问权限。例如:学生进入学生模块,而不能进入管理员模块。系统管理员、教务处领导、辅导员的用户名和密码可以预先在数据库中设定。第4章 系统架构设计4.1 系统功能逻辑设计结构图根据系统分析得出系
31、统的功能逻辑设计结构图如下: 登录学生模块辅导员模块教务处模块申请书管理个人信息管理帐号管理(修改密码)管理员模块申请书审核管理学生信息管理学生账号管理申请书复审学生信息查询学生个人信息查询公告管理系统维护分数查询帐号管理帐号管理(修改密码)图4-1 系统逻辑结构设计图4.2 数据库的设计与实现4.2.1 系统数据分析根据系统功能逻辑设计结构图分析与设计,可得到有关数据库操作的对象有3个,实体有11个2。三个对象分别为下表所示三种权限:表4-1 权限表权限描述学生录入申请资料(个人信息、学生家庭情况)、可查询自己的成绩和奖惩情况,录入和查询自己的资料信息无误后可提交。辅导员对注册的学生进行增、
32、删操作、可对学生的成绩和奖惩进行增、删、改、查,以及审核学生的资格教务处教务处领导登录后进入教务处模块,教务处领导对学生的信息查询、审核后将审核通过的学生呈报到教育局实体分别为下表所列:表4-2 实体表序号表名说明1班级信息表(classes)保存学校院系及班级的信息2学生信息表(students)保存学生的基本信息3学生奖励记录表(prize)保存学生奖励信息4学生惩罚记录表(punish)保存学生惩罚信息5学生测评表(score)保存学生每学期的测评信息4.2.2 数据库概念结构设计数据库概念结构设计是系统功能实现的基础。制作数据库表首先要确定实体的属性和实体间的关系,即E-R图的设计。数
33、据库要存储的班级信息、学生信息、学生奖励信息、学生处罚信息、学生考工考级信息、学生测评信息、班级档案信息和用户信息、新闻分类、新闻信息。班级班级编号班级名称图4-2 班级实体及属性学生学号姓名性别照片籍贯民族政治面貌出生日期家庭地址邮政编码班级编号移动电话身份证号家庭电话担任职务图4-3 学生实体及属性学生奖励奖励日期奖励原因详细说明编号学号图4-4 学生奖励实体及属性学生惩罚惩罚日期惩罚原因详细说明编号学号图4-5 学生惩罚实体及属性学生测评起始学年截止学年体育分数德育分数测评日期智育分数德育所占比例智育所占比例体育所占比例备注合计名次学期编号学号图4-6 学生测评实体及属性4.2.3数据库
34、主要表结构说明班级信息表(班级编号,班级名称)学生信息表(学号,姓名,照片,性别,出生日期,民族,政治面貌,籍贯,家庭地址,邮政编码,家庭电话,移动电话,身份证号,担任职务,所在班级编号)学生奖励记录表(编号,学号,奖励日期,奖励原因,详细说明)学生惩罚记录表(编号,学号,惩罚日期,惩罚原因,详细说明)学生测评记录表(编号,学号,起始学年,截至学年,学期,测评日期,德育分数,德育所占比例,智育分数,智育所占比例,体育分数,体育所占比例,合计,名次,备注)4.2.4数据库逻辑结构设计数据库概念结构设计完毕后,可以将数据库概念结构转化为某种数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。本
35、系统数据库采用的是Mysql数据库,系统数据库名称为jsp_db。数据库jsp_db中包含11张表。下面是各数据表的主要结构。(1) 班级信息表(classes)表classes用来保存学校院系及班级的信息。其结构如下表所示。表4-3 班级信息结构表编号字段名称数据类型说明允许空1classidvarchar(20)内码,主键否2classnamevarchar(40)班级名称(2) 学生信息表(students)表students用来保存学生的基本信息。表结构如下表所示。表4-4 学生信息结构表编号字段名称数据类型说明允许空1stunovarchar(20)学号,主键否2stunamevar
36、char(50)姓名3photovarchar(30)照片是4sexchar(2)性别是5birthDatabime出生日期是6nationalityvarchar(20)民族是7political_partyvarchar(20)政治面貌是8family_placevarchar(30)籍贯是9addressvarchar(100)家庭地址是10postcardvarchar(10)邮政编码是11family_phonevarchar(30)家庭电话是12mobilevarchar(30)移动电话是13id_cardvarchar(30)身份证号是14dutyvarchar(30)担任职务是
37、15classidvarchar(20)班级内码,外键 (3) 学生奖励记录表(prize)表prize用来保存学生奖励信息。表结构如下表所示。表4-5 学生奖励信息结构表编号字段名称数据类型说明允许空1idint(20)内码,主键否2stunovarchar(20)学号,外键3pdateDatetime奖励日期是编号字段名称数据类型说明允许空4preasonvarchar(200)奖励原因是5pdetailvarhchar(200)详细说明是(4) 学生处罚记录表(punish)表punish用来保存学生惩罚信息。表结构如下表所示。表4-6 学生处罚信息结构表编号字段名称数据类型说明允许空1
38、idint(20)内码,主键否2stunovarchar(20)学号,外键3pdateDatetime惩罚日期是4preasonvarchar(200)惩罚原因是5pdetailvarhchar(200)详细说明是(5) 学生测评记录表(score)表score用来保存学生每学期的测评信息。表结构如下表所示。表4-7 学生测评信息结构表编号字段名称数据类型说明允许空1idint(20)内码,主键否2stunovarchar(20)学号,外键3syear1char(4)起始学年4syear2char(4)截至学年5stermchar(2)学期6sdateDatetime测评日期是7smoralv
39、archar(20)德育分数是8smoralpervarchar(20)德育所占比例是9smindvarchar(20)智育分数是10smindpervarchar(20)智育所占比例是11sgmyvarchar(20)体育分数是12sgmypervarchar(20)体育所占比例是13stotalvarchar(20)合计是编号字段名称数据类型说明允许空14sorderSmallint名次是15smemovarchar(200)备注是第5章 系统详细设计与实现5.1 数据库的连接实现5.1.1 连接数据库方法本系统模块用JSP技术编写,那么就必须借助于JDBC(Java DataBase C
40、onnectivity)来操作数据库。JDBC是一组API(Application Programming Interface),即应用程序设计接口。JDBC共有四种类型:类型一,利用桥连接器(Bridge)的概念连接数据库。类型二,运用由数据库厂商提供的用于操作数据库的API函数。类型三,这类驱动程序通过网络协议与中间件连通,中间件负责转换数据库操作信息。类型四,这类驱动不通过任何中间件,而直接以Java数据库驱动程序来执行数据库的访问。相比之下,此系统选择第四种类型的数据库驱动。它的优点更适合这个系统创建与数据库的连接,通过编写java文件,连接MySQL数据库。编写java的代码如下:p
41、ackage system;import java.sql.*;/连接数据库的工具类。public class DataBaseConnection/* *一个静态方法,返回一个数据库的连接。 *这样达到了对数据库连接统一控制的目的。 */public static Connection getConnection()Connection con=null;String CLASSFORNAME=com.mysql.jdbc.Driver; String serverInfo=jdbc:mysql:/127.0.0.1:3306/jsp_db?user=root&password=1234&u
42、seUnicode=true&characterEncoding=gb2312; try Class.forName(CLASSFORNAME);con = DriverManager.getConnection(serverInfo);catch(Exception e)e.printStackTrace();return con;5.1.2 建立用户 JSP与MySQL数据库连接的时候,需要使用一个合法的用户登录数据库。此系统模块在数据库中建立以下三个级别的用户:表5-1 各级别用户表级别权限用户名密码一级学生本人学号本人学号二级班主任和教务处教务管理员赋予权限三级管理员Admin0000
43、00数据存储在数据库中的user表和students表中。5.1.3 数据库接口JDBC驱动程序连接数据库是通过接口来完成的。所有的驱动程序提供java.sql.*的实现表5-2 JDBC驱动程序接口接口名称功能描述Java.sql.Driver提供各种方法,用于读取数据库驱动器的信息。提供connect()方法。Java.sql.DriverManager主要用来管理Driver对象连接数据库。Java.sql.Connection创建Statement对象。Java.sql.Statement对特定的数据库执行SQL语句。java.sql.ResultSet控制一个特定语句的行数据的存取。5.2 系统主界面实现5.2.1 总用例图图5-1 总用例图 5.2.2 各模块及其功能1学生模块 (1) 帐号管理(修改密码)功能意义:学生更改登录密码。图5-2 用例图(2) 申请书管理功能意义:学生提交申请表申请奖学