jsp学生信息管理系统教学提纲.docx
《jsp学生信息管理系统教学提纲.docx》由会员分享,可在线阅读,更多相关《jsp学生信息管理系统教学提纲.docx(28页珍藏版)》请在冰豆网上搜索。
![jsp学生信息管理系统教学提纲.docx](https://file1.bdocx.com/fileroot1/2022-11/24/9d7a9865-38c4-4720-ae39-c33e3f492d0b/9d7a9865-38c4-4720-ae39-c33e3f492d0b1.gif)
jsp学生信息管理系统教学提纲
JavaWeb开发(JSP)
课程设计报告
题目:
学生信息管理系统
设计者:
李晓倩
专业班级:
软件java12-1
学号:
311209060103
指导教师:
霍占强
2014年6月28日
河南理工大学计算机学院
学生信息管理系统
第1章系统需求背景
1.1选题背景
随着社会的进步,经济的发展,计算机技术在日益成熟。
Internet普及,人们利用网络来实现相互协调工作以及资源共享越来越成为不可扭转的趋势,学校信息化的发展也成了必然方向。
伴随着学生人数每年都在增加,传统的方法用来管理学生信息已跟不上了时代的发展,还带来了很多的弊端,让学校的信息化很难推进,制约了学校的进一步发展。
因此,学生信息管理系统的开发对于学校而言是必要的,学生管理系统能够促进学校信息化的发展,利于学校的长运计划。
并且学生信息管理系统还为学校管理学生一些必要的相关信息带来了方便,免除了传统管理方法的繁杂和花费大量的人类、物力资源,减轻了学校的负担。
1.2课题研究现状
目前国内大多数高校的信息管理系统是B/S和C/S开发结构,获得了不错的效果,但同时也存在着一些不足之处。
1.2.1基于C/S的信息管理系统
具体的做法是由管理员将C/S结构的管理信息系统在服务器上发布,随着计算机技术、通信技术、数据库技术的迅速发展,Intranet/Internet技术的口益成熟,Internet的普及,校园网的完善,Java技术和.NET技术的兴起,采用B/S结构的学生信息管理系统逐步取代了原有的C/S结构的信息管理系统。
1,.2.2基于B/S的采用动态网页的信息管理系统
该方式采用浏览器/服务器的方式,通过动态网页直接访问数据库的方法来实现网上操作。
该方式能很好地克服C/S结构选课系统的地点集中和时间集中的问题。
1.3系统需求
现代社会随着信息技术的发展及在管理上的应用越来越深入而广泛,管理信息系统的设计、实施在技术上于完善。
在当今社会要想获得成功都必须运用科学的方法组织、合理的运用资源,因而管理信息系统也成了他们不可缺少的管理工具。
目前,教育方面也经历着同样的考验。
学校的规模都在不断的扩大,学生数量在急剧增长,有关学生的相应信息也在成倍的增加。
这就需要一个功能完善的学生信息管理系统来进行信息的规范化费力。
本系统的开发主要包括后台数据库的建立、连接和维护以及前台网络页面的开发两大方面。
由于Java的跨平台性、安全性等诸多优势,本论文采用Jsp+Tomcat+MySQL的技术途径和规范的全局设计开发流程,在Myeclipse的开发环境下设计、编写学生信息管理系统。
系统用户权限分两种:
学生和管理员,不同权限的用户登录到不同的操作页面,从而进行相应的操作。
1.4需求的收集及分析
1:
本系统要求设计两个角色:
教师用户、管理员用户;
2:
教师用户实现功能:
用户登陆、教师用户添加、删除、修改(包含:
教师用户修改自己的信息)、查询学生用户信息及成绩;
3:
学生用户实现功能:
用户登陆、查询自己的成绩;
第2章系统所涉及的一些知识
2.1JSP技术:
JSP是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态技术标准。
在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标签,就构成了JSP网页。
Java程序片段可以操纵数据库、重新定向网页以及发送E-mail等,实现建立动态网站所需要的功能。
所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,这样大大降低了对客户浏览器的要求,即使客户浏览器端不支持Java,也可以访问JSP网页。
JSP全名为JavaServerPages,其根本是一个简化的Servlet设计,他实现了Html语法中的java扩张(以<%,%>形式)。
JSP与Servlet一样,是在服务器端执行的。
通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户端。
插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
通常JSP页面很少进行数据处理,只是用来实现网页的静态化页面,只是用来提取数据,不会进行业务处理。
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。
网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。
JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
JSP(JavaServerPages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。
JSP页面由HTML代码和嵌入其中的Java代码所组成。
服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。
JavaServlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。
JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。
2.2JavaScript语言:
JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。
同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML(标准通用标记语言的子集)网页添加动态功能,比如响应用户的各种操作。
它最初由网景公司(Netscape)的BrendanEich设计,是一种动态、弱类型、基于原型的语言,内置支持类。
JavaScript是Sun公司(已被oracle收购)的注册商标。
Ecma国际以JavaScript为基础制定了ECMAScript标准。
JavaScript也可以用于其他场合,如服务器端编程。
完整的JavaScript实现包含三个部分:
ECMAScript,文档对象模型,浏览器对象模型。
Netscape公司在最初将其脚本语言命名为LiveScript。
Netscape在与Sun合作之后将其改名为JavaScript。
JavaScript最初受Java启发而开始设计的,目的之一就是“看上去像Java”,因此语法上有类似之处,一些名称和命名规范也借自Java。
但JavaScript的主要设计原则源自Self和Scheme。
JavaScript与Java名称上的近似,是当时网景为了营销[4]考虑与Sun公司达成协议的结果。
为了取得技术优势,微软推出了JScript脚本语言。
Ecma国际(前身为欧洲计算机制造商协会)创建了ECMA-262标准(ECMAScript)。
现两者都属于ECMAScript的实现。
尽管JavaScript作为给非程序人员的脚本语言,而非是作为给程序人员的编程语言来推广和宣传,但是JavaScript具有非常丰富的特性。
2.3MySQL
MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle公司。
Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem:
关系数据库管理系统)应用软件之一。
MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。
MySQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。
由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。
2.4JDBC
JDBC(JavaDataBaseConnectivity,java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯JavaAPI编写数据库应用程序,同时,JDBC也是个商标名。
有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。
换言之,有了JDBCAPI,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBCAPI写一个程序就够了,它可向相应数据库发送SQL调用。
同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。
Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。
JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。
作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。
JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。
JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。
Java具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。
所需要的只是Java应用程序与各种不同数据库之间进行对话的方法。
而JDBC正是作为此种用途的机制。
JDBC扩展了Java的功能。
例如,用Java和JDBCAPI可以发布含有applet的网页,而该applet使用的信息可能来自远程数据库。
企业也可以用JDBC通过Intranet将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机有Windows、Macintosh和UNIX等各种不同的操作系统)。
随着越来越多的程序员开始使用Java编程语言,对从Java中便捷地访问数据库的要求也在日益增加。
MIS管理员们都喜欢Java和JDBC的结合,因为它使信息传播变得容易和经济。
企业可继续使用它们安装好的数据库,并能便捷地存取信息,即使这些信息是储存在不同数据库管理系统上。
新程序的开发期很短。
安装和版本控制将大为简化。
程序员可只编写一遍应用程序或只更新一次,然后将它放到服务器上,随后任何人就都可得到最新版本的应用程序。
对于商务上的销售信息服务,Java和JDBC可为外部客户提供获取信息更新的更好方法。
第3章功能需求分析
3.1系统的功能简述
本系统根据用户的需求,主要功能有添加、删除、修改和查询相应的信息,现将系统为用户提供的服务总结如下:
本系统根据用户的权限不同分为两类:
学生和管理员(教师)。
1:
教师用户实现功能:
用户登陆、教师用户添加、删除、修改(包含:
教师用户修改自己的信息)、查询学生用户信息及成绩;
2:
学生用户实现功能:
用户登陆、查询自己的成绩;
通过上述的分析总结可以得出学生信息管理系统用户功能简略图如图3-1所示。
学生信息管理系统
学生
管理员
学生登录
学生信息查询
成绩查询
教师用户登录
教师用户管理
查询学生信息
查询学生成绩
图3-1系统功能略图
3.2系统的功能分析
3.2.1管理员功能分析
系统管理:
教师用户管理:
可以增加、删除教师账户
学生信息管理:
可以添加、删除、修改学生信息
学生成绩管理:
可以添加学生成绩
3.2.2学生功能分析
学生管理:
学生信息查询:
可以查询学生信息
学生成绩查询:
可以查询学生成绩
第4章系统设计方案
为了实现系统总体功能,提供系统的各项指标,这些指标包括系统的可行性、可用性、可维护性、易读性。
提高系统的工作效率。
总体结构设计的主要任务是将整个系统合理的划分成各个功能模块,正确处理模块间与模块内部的联系以及它们之间的调用关系和数据关系,定义各模块的内部结构等等。
4.1系统功能模块划分与设计
4.1.1系统功能模块划分
本系统的功能划分主要是从学生和管理员两个角度进行划分的,分为前台和后台。
前台主要是提供学生进行相应的操作。
后台为管理员维护整个学生信息管理系统,并且对学生相应信息进行相应的维护。
其功能划分如图5-1所示。
学生信息管理系统
学生
管理员
个人信息维护
选修课信息
成绩查询
系统管理
学生管理
选修课管理
成绩管理
前台
后台
图4-1学生信息管理系统功能模块划分
4.1.2系统各功能模块的分析与设计
从上节的划分角度下面分模块对各模块进行功能的分析与设计,系统的主要用户有管理员和学生。
现在从这两种用户的权限来分析并设计出属于不同用户的功能。
(1)、管理员模块的功能分析与设计
管理员,他具有系统正常运行的全部功能与系统使用的管理权限。
对学生的管理有:
添加、删除、查询学生、修改学生登录密码、添加、查询、修改学生个人信息。
对成绩的管理有:
添加、删除、查询、修改成绩单。
管理员模块功能图如图5-2所示。
管理员
教师登录
教师用户管理
学生信息管理
学生成绩管理
登录成功
账号或密码错误
添加教师用户
删除教师用户
修改教师用户信息
添加学生用户
添加学生信息
删除学生用户
修改学生信息
添加、修改、删除成绩
查看学生个人成绩
图4-2管理员功能模块图
(2)、学生模块的功能分析与设计
学生是学校管理的主体,但不是系统使用的主体,唯一专为学生提供的使用接口是学生通过学号和登录密码进行与自己相关的操作,其主要功能是查看与自己相关信息,修改部分个人信息,修改自身登录密码,参与选课、报名等活动,无任何删除权限。
学生功能模块图如图4-3所示。
学生
个人信息管理
删除学生用户信息
修改学生用户信息
个人成绩查询
查询个人成绩
图4-3学生功能模块
4.2系统功能模块流程图
4.2.1系统管理员功能模块流程图
系统管理员是系统的最高权限管理者,进行操作前必须正确的登录,系统管理员的登录模块流程图如图4-4所示:
Y
开始
选择用户权限并输入用户名和密码
验证用户信息
管理员界面
结束
N
图4-4管理员登录流程图
管理员成功登录后就可以对学生信息管理系统进行管理了。
第一、教师用户管理,可以对教师用户进行添加修改和删除,其操作流程图如下图4-5所示:
图4-5教师用户管理流程图
第二、学生信息管理,管理员可以添加、删除学生,可以添加、修改学生的个人信息,还可以查看所有学生。
其管理流程图如图4-6所示:
图4-6学生信息管理流程图
第三、学生成绩管理,管理员负责添加学生成绩。
其处理流程图如图4-7所示:
Y
管理界面
学生成绩选管理
输入学生成绩
操作成功
N
图4-7课程管理流程图
4.2.2学生功能模块流程图
第一、学生登录功能,学生只有输入正确的账号、密码和选择合适的权限才能登录学生端来管理和查询自己相关的事件。
其操作如下图4-9所示:
图4-9学生登录模块功能流程图
第二、个人信息维护,学生登录后能够查询个人信息并做部分修改,还可以查看、修改自己登录密码,其具体操作流程图如图4-10所示:
图4-10个人信息维护模块功能流程图
第四、成绩查询,学生可以查看自己的成绩,其操作流程图如图4-12所示:
图4-11成绩查询模块功能流程图
第5章系统涉及的数据库表
5.1数据库概述
计算机化的管理信息系统是一个以大量数据资源为基础并以此为中心而建立起来的应用系统。
其目的是为一个组织中各个部门和各个管理层次提供必要的管理信息和决策数据,由于涉及到应用领域中一定的深度和广度,因而必然需要接触大量的不同类型的数据。
对这些数据的合理组织和有效的存储时管理信息系统开发中一项至关重要的工作。
数据库(DataBase),是按照数据结构来组织、存储和管理数据的仓库,是用于查询大量数据的存储区域。
使用数据库可以减少数据的冗余度,大大的节省数据的存储空间,实现数据资源充分共享等等功能。
本系统使用的是MySQL.
5.2数据字典
名字:
用户
别名:
描述:
登录管理此系统的用户和查询信息的学生
定义:
用户=管理员+学生
位置:
管理员和学生
名字:
用户档案
别名:
登录表
描述:
管理系统所有用户档案
定义:
用户档案=用户ID+用户密码+权限
位置:
学生信息表,教师信息表
名字:
学生信息
别名:
学生信息表
描述:
包括学生的基本信息,学号是唯一键,管理员可以添加任意学生,学生只能查询个人信息和部分修改的权限。
定义:
学生=学号+姓名+性别+地址
位置:
学生信息表
名字:
成绩表
别名:
成绩表
描述:
相应学生的成绩表
定义:
成绩表=学号+姓名+课程名+成绩
位置:
成绩表
5.3数据库逻辑设计
服务器上已建好名为的stuman数据库。
其中包含以下表:
stugrade,stuinfo,teachers。
下面将具体的介绍数据库中各个表的结构。
(1)学生成绩表
表5-1学生成绩表(stugrader)
列名(中文)
列名(英文)
数据类型
长度
允许空
用户名
id
int
50
No
姓名
name
varchar
255
No
课程
course
Varchar
255
No
成绩
grode
Varchar
255
No
(2)学生信息表
表5-2学生信息表(stuinfo)
列名(中文)
列名(英文)
数据类型
长度
允许空
账号
Id
Int
50
No
密码
Psaaword
Int
20
No
姓名
name
Varchar
255
No
性别
Sex
Varchar
255
No
院系
College
Varchar
50
No
住址
Address
Varchar
255
No
(3)教师表
表5-3教师表(teachers)
列名(中文)
列名(英文)
数据类型
长度
允许空
账号
Name
Varchar
255
No
密码
Password
Int
30
No
第6章具体功能分析
6.1登录功能的设计与实现
由于系统分为学生和系统管理员两类对象,系统需要区分不同对象,将信息发给不同用户,估系统登录页面设计如下图6-1所示。
图6-1系统登录功能设计图
在选择教师用户登录之后出现页面,如图6-2.
图6-2教师登录功能设计图
如果登录正确,则显现页面为如图6-3.
图6-3教师登录成功
如果用户名或密码错误,则显示如图6-4
图6-3教师登录不成功
6.2教师信息的添加、删除及修改的设计与实现
在正确登录了教师账号之后(自己设定了四个教师用户,用户名为tea1,tea2,tea3,tea4,密码都为123456),选择教师用户管理,进入教师用户管理模块。
如图6-4
图6-4教师信息管理界面
点击添加教师用户,如图6-5.
图6-5添加教师用户界面
点击提交之后便将tea5用户插入到数据库中,如图6-6.
图6-6添加教师用户后界面
在每一个用户之后,都有删除和修改,点击即可实现删除和修改功能。
6.3学生信息的添加、删除及修改的设计与实现
在正确登录了教师账号之后,选择学生用户管理,进入学生用户管理模块。
如图6-7.
图6-7学生信息管理界面
这里使用了分页的功能,由于学生人数较多,所以10条信息分一页,点击上一页,下一页和数字便可进入对应的页数,在每一条信息之后,都有删除和修改,对应点击即可实现删除和修改的功能。
最上方有添加,点击进入添加学生信息
6.3学生成绩的添加、删除及修改的设计与实现
在正确登录了教师账号之后,选择学生成绩管理,进入学生成绩管理模块。
如图6-8.
图6-8学生成绩管理界面
这里也使用了分页的功能。
在每一条信息之后,都有删除和修改,对应点击即可实现删除和修改的功能。
最上方有添加,点击进入添加学生成绩信息。
如图6-9.
图6-9添加学生成绩界面
6.4学生个人信息及成绩的查询设计与实现
在登录页面选择学生登录,进入学生登录模块,如图6-10.
图6-10学生信息管理界面
用户名和密码正确后进入学生个人信息及成绩查询页面,如图6-11.
图6-11学生成绩查询界面
6.5学生信息管理系统实现的具体细节
由于系统代码数量比较大,不易一一列举,估只列举部分代码。
6.5.1数据库的连接
编写一个数据库连接的DBOperator.java文件,用来访问MySQL数据库,从而对数据库做相应的操作。
其部分代码如下:
packagestumanager;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.sql.Statement;
publicclassDBOperator{
privatestaticStringdriver="com.mysql.jdbc.Driver";
privatestaticStringurl="jdbc:
mysql:
//localhost/stuman?
user=root&password=root";
static
{
try{
Class.forName(driver);
}catch(ClassNotFoundExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
publicstaticConnectiongetConnection()
{
Connectionconn=null;
try{
conn=DriverManager.getConnection(url);
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
returnconn;
}
publicstaticvoidclose(ResultSetrs,Statementst,Connectionconn)
{
try{
if(rs!
=null)
{
rs.close();
}
if(st!
=null)
{
st.clos