1、目 录 第 1 章 绪论 . 3 1.1 项目开发背景 . 3 1.2 项目开发目标 . 4 1.3 项目提出的意义 . 4 1.4 此项目的研究内容 . 4 第 2 章 工具及技术简介 . 4 2.1 JSP( Java Server Pages) 技术与 Java 语言的概述 . 4 2.1.1 JSP 概述 . 4 2.1.2 JSP 工作原理 . 5 2.1.3 Java 语言概述 . 6 2.2 B/S 体系结构介绍 . 7 2.3 JavaScrit 技术介绍 . 8 2.4 SQL Server 2000 数据库概述及特点 . 9 2.4.1 数据库介绍 . 9 2.4.2 SQ
2、L Server 2000 数据库特点 . 10 2.5 MyEclipse 6.5 简介 .11 第 3 章 学生成绩管理系统的设计 . 11 3.1 需求分析 .11 3.1.1 运行环境 .11 3.2 系统总体设计 .11 3.2.1 系统构架 . 12 3.2.2 系统设计思想 . 12 3.2.3 系统功能描述 . 12 3.2.4 系统 E-R 图 . 12 第 4 章 数据库设计 . 14 4.1 总体表设计 . 14 4.2 数据库表的结构 . 14 4.3 数据库连接 . 16 第 5 章 系统功能实现 . 16 5.1 登录界面设计及实现 . 16 5.1.1 界面设计
3、. 16 5.1.2 用户身份识别的程序设计 . 17 5.2 学生界面 . 19 5.2.1 界面设计 . 19 5.2.2 学生的主要功能 . 20 5.3 管理员界面 . 25 5.3.1 管理员界面功能实现 . 25 5.3.2 管理员的功能 . 26 5.4 功能介绍 . 30 5.4.1 学生功能 . 30 5.4.2 教师功能 . 30 5.4.3 管理员功能 . 30 第 6 章 系统测试 . 31 6.1 测试目的 . 31 6.2 测试环境的搭 建 . 31 6.3 测试方法 . 33 6.4 测试项目 . 33 6.5 测试结果 . 33 第 7 章 结论 . 34 第
4、1 章 绪论 1.1 项目开发背景 人工管理 学生成绩 的手续繁索、效率低下给具有强烈时间观念的管理人员带来了诸多不便,学校缺少一套完善的学生成绩管理软件,为了对学校的管理方便,因此必须开发学生成绩管理系统。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生成绩信息进行管理,具有手工管理所无法比拟的优点。例如, 、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大的提高学生档案管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发学生
5、成绩管理系统很有必要。 本系统在大多数成绩管理系统的基础上,主要增加了教师对成绩的操作,教师改完试卷后不用在往学院的教务处办公室报送成绩,可以直接的把成绩上传到网络上,学生也可以方便快速的查 询到自己的成绩,考试后教务管理人员也不必总呆在学院的办公室,他们都不受时间,位置,空间的限制,只要有上网的条件,在家里就可以完成有关成绩的录入,更新,管理,查询和删除。本系统将会改变以前靠手工管理学生成绩的状况,提高工作效率。希望能为老师和学校的工作带来便利。 1.2 项目开发目标 基于 B/S 模式的学生成绩管理系统是一个面向数据库管理系统,目标是形成一套界面友好编码规范功能齐全使用方便的学生成绩管理应
6、用系统。实现一个基于网络的学生成绩管理系统,能在网络环境下实现数据的录入、插入、删除、查询 、统计、更新等功能。将成绩管理作为一个独立的模块与教师课程管理相联系,同时关联班级管理, 来生成每个学生的基本信息,成绩等,能够实现学生成绩管理的科学化、系统化、规范化和自动化。 1.3 项目提出的意义 此系统运用了 JavaScript, html, SQL Server,综合理解了 java,熟悉了程序设计、程序测试等步骤。这样就将我们所学融合起来,收获很大。 1.4 此项目的研究内容 本系统的功能有:成绩管理模块,数据设定模块,系统设置模块。 主要实现: 1. 界面设计 :登录界面(用户 登录界面
7、和管理员登陆界面)。成绩管理模块(成绩输入,成绩查询,成绩排名等),数据设定(年级,班级,学科,教师任课等),系统设置(登录信息,修改密码,数据库维护)。 2. 数据库设计( SQL Server)(学生成绩表、学生注册信息表、学生查分记录表、管理员用户信息表,教师任课信息表,班级课程表) 3. 编码实现( java) 4. 测试并移交。 第 2 章 工具及技术简介 2.1 JSP( Java Server Pages) 技术 与 Java 语言的概述 2.1.1 JSP 概述 JSP(Java Server Pages)是由 Sun Microsystems 公司倡导、许多公司参与一起建立的
8、一种动态网页技术标准。 JSP 技术有点类似 ASP 技术,它是在传统的网页 HTML文件 (*.htm,*.html)中插入 , Java 程序段 (Scriptlet)和 JSP 标记 (tag),从而形成 JSP 文件 (*.jsp)。 用 JSP 开发的 Web 应用是跨平台的,既能在 Linux 下运行,也能在其他操作系统上运行。 JSP 技术使用 Java 编程语言编写类 XML 的 tags 和 scriptlets,来封装产生动态网页的处理逻辑。网页还能通过 tags 和 scriptlets 访问存在于服务端的资源的应用逻辑。 JSP 将网页逻辑与网页设计和显示分离,支持可重
9、用的基于组件的设计,使基于 Web 的应用程序的开发变得迅速和容易。 Web 服务器在遇到访问 JSP 网页的请求时,首先执行其中的程序段,然后将执行结果连同 JSP 文件中的 HTML 代码一起返回给客户。插入的 Java 程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。 JSP 与 Java Servlet 一样,是在服务器端执行的,通常返回该客户端的就是一个 HTML 文本,因此客户端只要有浏览器就能浏览。 JSP 的 1.0 规范的最后版本是 1999 年 9 月推出的, 12 月又推出了 1.1规范。目前较新的是 JSP1.2 规范, JSP2.0 规范的征求意
10、见稿也已出台。 JSP 页面由 HTML 代码和嵌入其中的 Java 代码所组成。服务器在页面被客户端请求以后对这些 Java 代码进行处理,然后将生成的 HTML 页面返回给客户端的浏览器。Java Servlet 是 JSP 的技术基础,而且大型的 Web 应用程序的开发需要 Java Servlet 和 JSP配合才能完成。 JSP 具备了 Java 技术的简单易用,完全的面向对象,具有平台无关性且安全 可靠,主要面向因特网的所有特点。 自 JSP推出后,众多大公司都支持 JSP 技术的服务器,如 IBM、 Oracle、 Bea 公司等,所以 JSP 迅速成为商业应用的服务器端语言。
11、2.1.2 JSP 工作原理 在一个 JSP 文件第一次被请求时, JSP 引擎把该 JSP 文件转换成为一个 servlet。而这个引擎本身也是一个 servlet,在 JSWDK或 WEBLOGIC 中,它就是 JspServlet。 JSP 引擎先把该 JSP 文件转换成一个 Java 源文件,在转换时如果发现 jsp 文件有任何语法错误,转换过程将中断, 并向服务端和客户端输出出错信息;如果转换成功, JSP 引擎用 javac 把该Java 源文件编译成相应的 class 文件。然后创建一个该 SERVLET 的实例,该 SERVLET 的jspInit()方法被执行, jspIni
12、t()方法在 servlet 的生命周期中只被执行一次。然后jspService()方法被调用来处理客户端的请求。对每一个请求, JSP 引擎创建一个新的线程来处理该请求。如果有多个客户端同时请求该 JSP 文件,则 JSP 引擎会创建多个线程。每个客户端请求对应一个线程。以多线程方式执行可大大降低对系统的资源需求 ,提高系统的并发量及响应时间 .但应该注意多线程的编程限制,由于该 servlet 始终驻于内存,所以响应是非常快的。如果 .jsp 文件被修改了,服务器将根据设置决定是否对该文件重新编译,如果需要重新编译,则将编译结果取代内存中的 servlet,并继续上述处理过程。虽然 JSP
13、 效率很高,但在第一次调用时由于需要转换和编译而有一些轻微的延迟。此外,如果在任何时候如果由于系统资源不足的原因, JSP 引擎将以某种不确定的方式将 servlet 从内存中移去。当这种情况发生时 jspDestroy()方法首先被调用 , 然后 servlet 实例便被标记加入 “垃圾收集 “处理。 jspInit()及 jspDestory()格式如下:可在 jspInit()中进行一些初始化工作 ,如建立与数据库的连接,或建立网络连接,从配置文件中取一些参数等,在 jspDestory()中释放相应的资源。 2.1.3 Java 语言概述 Java 是一种简单的,跨平台的,面向对象的,
14、分布式的,解释的,健壮的安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言。当 1995 年 SUN 推出 Java 语言之后,全世界的目光都被这个神奇的语言所吸引。那么 Java 到底有何神奇之处呢? Java 语言其实最早是诞生于 1991 年,起初被称为 OAK 语言,是 SUN 公司为一些消费性电子产品而设计的一个通用环境。他们最初的目的只是为了开发一种独立于平台的软件技术,而且在网络出现 之前, OAK 可以说是默默无闻,甚至差点夭折。但是,网络的出现改变了 OAK 的命运。 在 Java 出现以前, Internet 上的信息内容都是一些乏味死板的 HTML 文档。这
15、对于那些迷恋于 WEB 浏览的人们来说简直不可容忍。他们迫切希望能在 WEB 中看到一些交互式的内容,开发人员也极希望能够在 WEB 上创建一类无需考虑软硬件平台就可以执行的应用程序,当然这些程序还要有极大的安全保障。对于用户的这种要求,传统的编程语言显得无能为力,面 SUN 的工程师敏锐地察觉到了这一点,从 1994 年起,他们开始将 OAK 技术应用于 WEB 上, 并且开发出了 HotJava 的第一个版本。当 SUN 公司 1995 年正式以 Java 这个名字推出的时候,几乎所有的 WEB 开发人员都想到:噢,这正是我想要的。于是 Java 成了一颗耀眼的明星,丑小鸭一下了变成了白天
16、鹅。 Java 的开发环境有不同的版本,如 sun 公司的 Java Development Kit, 简称JDK。后来微软公司推出了支持 Java 规范的 Microsoft Visual J+ Java 开发环境,简称 VJ+。 2.1.4 Java 工作原理 Java 语言引入了 Java 虚拟机,具有跨平台运行的功能,能 够很好地适应各种 Web 应用。同时,为了提高 Java 语言的性能和健壮性,还引入了如垃圾回收机制等新功能,通过这些改进让 Java 具有其独特的工作原理。 Java 虚拟机( Java Virtual Machine, JVM)是软件模拟的计算机,它可以在任何处理
17、器上(无论是在计算机中还是在其他电子设备中)安全兼容地执行保存在 .class 文件中的字节码。 Java 虚拟机的 “ 机器码 ” 保存在 .class 文件中,有时也可以称之为字节码文件。 Java程序的跨平台特性主要是指字节码文件可以在任何具有 Java虚拟机的计 算机或者电子设备上运行, Java 虚拟机中的 Java 解释器负责将字节码文件解释成为特定的机器码进行运行。因此在运行时, Java 源程序需要通过编译器编译成为 .class 文件 。 Java 虚拟机的建立需要针对不同的软硬件平台来实现,既要考虑处理器的型号,也要考虑操作系统的种类。 2.2 B/S 体系结构介绍 B/S
18、 是 browser/server 指浏览器和服务器端,在客户机端不用装专门的软件,只要一个浏览器即可 。 B/S 最大的优点(最简单: B/S 最大优势:客户端不用维护,适用于用户群庞大,或客户需求经常 发生变化的情况。) 可以在任何地方进行操作而不用安装任何专门的软件。既可以局域网使用也可以广域网使用,客户端零维护。 B/S 架构的软件对一个稍微大一点单位来说,系统管理人员不需要在几百甚至上千部电脑之间来回奔跑,只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异
19、地,只需要把服 务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦”,而服务器越来越“胖”是 将来信息化发展的主流方向。 B/S 即适用于建立在局域网上也适用建立在广域网上 , 面向不同的用户群 ,不同的地域 , 这是 C/S 无法作到的 . 而且对操作系统平台的要求也没有 C/S 结构那么高,要求最小 . B/S 架构的软件系统的扩展非常容易,只要能上网,系统管理员分配一个用户名和密码,还可以在线申请等。很简单的就实现远程操作,这种优势也是 C/S 结构的软件无论如何也达不到的。 2.3 JavaScrit 技术介绍 Javascript是一种由 Netscape的 LiveS
20、cript发展而来的原型化继 承的面向对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。当时服务端需要对数据进行验证,由于网络速度相当缓慢 ,只有 28.8kbps,验证步骤浪费的时间太多。于是 Netscape 的浏览器 Navigator 加入了 Javascript,提供了数据验证的基本功能。 JavaScript 是根据 “ECMAScript“标准制定的网页脚本语言。这个标准由 ECMA 组织发展和维护。 ECMA-262 是正式的 JavaScript 标准。这个标准基于 JavaScript (
21、Netscape) 和 JScript (Microsoft)。 Netscape (Navigator 2.0) 的 Brendan Eich 发明了这门语言,从 1996 年开始,已经出现在所有的 Netscape 和 Microsoft 浏览器中。 ECMA-262 的开发始于 1996 年,在 1997 年 7 月, ECMA 会员大会采纳了它的首个版本。 在 1998 年,该标准成为了国际 ISO 标准 (ISO/IEC 16262)。这个标准仍然处于发展之 中。 在 2005 年 12 月, ECMA 发布 ECMA-357 标准( ISO/IEC 22537)出台,主要增加对扩展
22、标记语言 XML 的有效支持。 目前 javascript 的最新版本为 1.8。 Javascript加入网页有两种方法: 1、直接加入 HTML 文档 这是最常用的方法,大部分含有 Javascript 的网页都采用这种方法,如: 在这个例子中,我们可看到一个新的标签: ,而 用来告诉浏览器这是用 Javascript 编写的程序,需要调动相应的解释程序进行解释。( w3c 已经建议使用新的标准: ) HTML 的注释标签 :用来去掉浏览器所不能识别的 Javascript 源代码的,这对不支持 Javascript 语言的浏览器来说是很有用的。 注意在非 xhtml 文档中插入 scri
23、pt 标签时,如果不是引用外部文件,应该在 script 内加上 cdata 声明,避免大于和小于运算符引起的浏览器解析错误 /-Javascript 结束:双斜杠表示 Javascript 的注释部分,即从 /开始到行尾的字符都被忽略。 至于程序中所用到的 document write()函数则表示将括号中的文字输出到窗口中去, 这在后面将会详细介绍。 另外一点需要注意的是, 的位置并不是固定的,可以包含在 . 或 .中的任何地方。 还有一个更高级版本的嵌入脚本,它使用了 HTML 中的 CDATA 语法( Character Data,就是把 CDATA 中的文本全部当作纯文本处理,除非遇
24、到 CDATA 的结束) 2.4 SQL Server 2000 数据库 概述及特点 2.4.1 数据库介绍 我们在装完 SQL Server 2000 数据库后,用企业管理器打开数据库,会发现里面默认安装了 master、 model、 msdb、 Northwind、 pubs、 tempdb 这 6 个数据库,这些数据库是干什么的呢?下面就一一介绍之。 ( 1) 、 master 数据库 master 数据库记录 SQL Server 系统的所有系统级别信息。它记录所有的登录帐户和系 统配置设置。它还记录所有其它的数据库,其中包括数据库文件的位置。 master 数据库记录 SQL Se
25、rver 的初始化信息,它始终有一个可用的最新 master 数据库备份。 ( 2) 、 model 数据库 model 数据库用作在系统上创建的所有数据库的模板。当发出 Create DATABASE 语句时,新数据库的第一部分通过复制 model 数据库中的内容创建,剩余部分由空页填充。由于 SQL Server每次启动时都要创建 tempdb数据库, model数据库必须一直存在于 SQL Server系统中 。 ( 3) 、 msdb 数据库 msdb 数据库供 SQL Server 代理程序调度警报和作业以及记录操作员时使用。 ( 4) 、 Northwind数据库 Northwin
26、d 数据库包含一个名为 Northwind Traders 的虚构公司的销售数据,该公司从事世界各地的特产食品进出口贸易。 ( 5) 、 pubs 数据库 pubs 数据库以一个图书出版公司为模型,用于演示 SQL Server 数据库中可用的许多选项。该数据库及其中的表经常在文档内容所介绍的示例中使用。 ( 6) 、 tempdb数据库 tempdb 数据库保存所有的临时表和临时存储过程。它还满足任何其它的临时存储要求,例如存储 SQL Server 生成的工作表。 tempdb 数据库是全局资源,所有连接到系统的用户的临时表和存储过程都存储在该数据库中。 tempdb 数据库在 SQL S
27、erver 每次启动时都重新创建,因此该数据库在系统启动时总是干净的。临时表和存储过程在连接断开时自动除去,而且当系统关闭后将没有任何连接处于活 动状态,因此 tempdb 数据库中没有任何内容会从SQL Server 的一个会话保存 到另一个会话。 默认情况下,在 SQL Server 在运行时 tempdb 数据库会根据需要自动增长。不过,与其它数据库不同,每次启动数据库引擎时,它会重置为其初始大小。如果为 tempdb 数据库定义的大小较小,则每次重新启动 SQL Server 时,将 tempdb 数据库的大小自动增加到支持工作负荷所需的大小这一工作可能会成为系统处理负荷的一部分。为避
28、免这种开销,可以使用 Alter DATABASE 增加 tempdb 数据库的大小。 2.4.2 SQL Server 2000 数据库特点 ( 1) SQLServer 2000 可以运行在不同的平台上,可以用在运行 Windows 98 的便携式电脑上,也可以用在运行 Windows 2000 的大型多处理器服务器上。 ( 2) SQLServer 2000 支持在 Transact-SQL 语句中直接引用异类 OLEDB 数据源。分布式查询来自不同数据源的数据与 SQLServer 2000 数据库中的数据集成。 OLEDB 提供程序将结果作为表格格式的行集返回。 SQLServer2
29、000 支持从 OLEDB 数据源返回行集的函数,如OpenQuery 和 Open DataSource。 这些函数可在 Transact-SQL 语句中代替表引用。还可以定义引用 OLEDB 数据源的连接服务器名称,然后使用 Transact-SQL 语句中的 FROM 子句从该数据源引用表,像引用任何 SQL Server 表一样。如果 OLEDB 提供程序支持更新,则 SQL Server的分布式查询功能支持在 Insert, UpDate, Delete 等数据修改语句中引用 OLEDB 行集。如果 OLEDB提供程序所需的接口,则分布式事务将防止对 OLEDB行集进行修改。 SQL
30、 Server 2000动态的将查询所引用的每一个表的锁定粒度调整 到合适的级别。当查询所引用的少数几行分散在一个大型表中时,优化数据并进行访问的最佳办法是使用粒度锁,如行锁。 SQLServer 2000 通过为每个查询中的每个表选择适当的锁定级别,在总体上优化了并发访问。 ( 3) SQLServer 2000 提供充分的数据库完整性保护。所有数据修改都在事务中进行,每个事务在状态一致时全部提交,或在遇到错误时全部返回。在多个站点使用发布 订阅术语维护数据的复本,使站点将数据定位到靠近最常访问他的用户,同时使数据与其他位置的复本保持同步。实现 SQLServer 2000 数据仓 库功能的
31、组件和 API。他提供一个公用界面,供各种力求生成并使用数据仓库和数据集的组件使用)、数据转换服务(他支持从异类 OLEDB数据源提取数据,并支持汇总和聚合这些数据以生成数据仓库)、联机分析处理、数据挖掘支持等,可用来直观地设计数据库并通过 English Query 来分析数据。 ( 4) SQLServer 2000 数据库引擎提供完整的 XML 支持。 SQL Server 2000 程序设计模型与 Windows DNA 构架集成,用以开发 Web 应用程序,并且 SQLServer 2000 支持 English Query 和 Microsoft 搜索服务等功能,在 Web 应用程
32、序中包含了用户友好的查询和强大的搜索功能。 ( 5)全文检索包括更改跟踪和图像筛选。更改跟踪维护记录着全文索引数据所有更改的日志。如果全文索引更改为新的内容,可根据调度手工刷新日志,也可以使用后台更新索引选项,更改一旦发生便进行更新。图像筛选功能允许为存储在 Image 列中的文档创建索引并执行查询。若某个文档以文件的形式存储在文件系统中,则用户可在包含该文档应具有的文件扩展名列表中提供文档类型。使用该信息,全文检索可以装载相应的文档筛选并提取文本化信息进 行索引。 ( 6)故障转移群集构架, SQLServer 2000 故障转移群集允许系统自动故障服务器中的SQLServer 实例处理转换到工作服务器,从而提高服务器的可用性。 SQLServer 2000 基于Windows NT4 0 和 Windows2000 中 Microsoft 的群集服务( MSCS)的故障转移群集功能来