东北大学软件学院 实践考核类课程(二)实验报告
2 / 19
目 录
1.前言 …………………………………………………………………………3
1.1 实验目的 ………………………………………………………………3
1.2 实验基本要求 …………………………………………………………3
2.系统分析与设计 ……………………………………………………………3
2.1 系统功能描述……………………………………………………………3
2.2 系统功能流程……………………………………………………………4
2.3 数据库设计………………………………………………………………5
2.3.1 数据表构建…………………………………………………………5
2.3.2 E_R 图………………………………………………………………6
2.3.3 数据表关系…………………………………………………………6
3.系统实现与测试………………………………………………………………7
3.1 系统采用的关键技术……………………………………………………7
3.2 关键程序流程……………………………………………………………8
3.3 关键代码分析……………………………………………………………8
3.4 出现的问题及解决………………………………………………………11
3.4.1 向数据库中插入数据出现乱码问题………………………………11
3.4.2 实现页面的跳转问题 ……………………………………………12
4.系统界面………………………………………………………………………12
5.操作方法………………………………………………………………………13
6.分析与总结……………………………………………………………………15
6.1 实验分析与总结…………………………………………………………15
7.附录……………………………………………………………………………16
7.1 参考文献…………………………………………………………………16
7.2 创建数据库脚码及源程序………………………………………………17
7.3 MVC 架构模式的认识……………………………………………………17
东北大学软件学院 实践考核类课程(二)实验报告
3 / 19
1.前言
1.1 实验目的
➢ 学习 Web 应用程序的开发,以 B/S 方式,JSP 编程技术开发学生选课系统;
➢ 通过编程实践掌握 JSP 的动态网页与 MySql 数据库相结合的技术;
➢ 通过 MVC(模型-视图-控制)架构模式,使其在开发过程中得以应用,并了解
Web 编程模式下的 Model1 和 Model2 的区别;
➢ 了解 Struts 框架和 Hibernet 框架的具体含义及 Struts 与 Hibernet 相结合模
式下的开发
1.2 实验的基本要求
该实验要求完成一个简单的基于 Web 的学生选课系统,主要实现学生注册
模块、学生选课管理模块和课程维护模块这三个模块,采用 Servlet、JSP、JDBC、
DAO 等关键技术,并使用 JSP Model1 和 JSP Model2 两种模式来实现。
实验中采用的开发环境:
编译器:JDK1.5;
Web 服务器:Tomcat6.0;
插件开发平台:MyEclipse6.0 GA;
数据库服务器:MySQL5.1。
本系统有较好的可维护性、可靠性、可理解性、效率。易于用户理解和操作。
可维护性包括了可读性、可修改性、可测试性、等含义。可靠性通常包括正确性
和健壮性。开发过程中,在各种矛盾的目标之间作权衡,并在一定的限制的条件
下(时间、可用的软、硬件资源等),使上述各方面最大限度的得到满足。
2. 系统分析与设计
2.1 系统功能描述
学生选课系统是典型的信息管理系统(MIS),本系统是根据现代化校园的发展
而设计的基于 jsp 的学生选课管理系统,本系统就是为了管理好选课信息而设计
的。
学生选课系统需要满足来自两方面的需求,这三个方面分别是学生和管理员。
学生的需求是查询院系的课程、学生选课情况及学生信息的修改;选课管理员的
功能最为复杂,包括对学生、选课进行管理和统计,及系统状态的查看、维护并
生成选课报表。学生可以直接查看选课情况,学生可以根据本人学号和密码登录
东北大学软件学院 实践考核类课程(二)实验报告
4 / 19
系统,还可以进行本人课程情况的查询和维护部分个人信息。一般情况下,学生
只应该查询和维护本人的选课情况和个人信息,若查询和维护其他学生的选课及
成绩查询信息,就要知道其他学生的学号和密码。这些是很难得到的,特别是密
码,所以不但满足了学生的要求,还保护了学生的个人隐私。
学校工作人员有修改学生选课的权限,所以需对工作人员登陆本模块进行更
多的考虑。在此系统中,学校工作人员可以为学生加入选课或是登陆记录,并打
印生成相应的报表给用户查看和确认院系管理人员功能的信息量大,数据安全性
和保密性要求最高。本功能实现对选课信息、教师信息、总体选课情况信息的查
询和统计、工作人员和管理人员信息查看及维护。学校管理员可以浏览、查询、
修改、统计选课的基本信息;浏览、查询、统计和修改学生选课的基本信息,浏
览、查询、统计学生信息,但不能添加删除和修改学生的信息,这部分功能应该
由院系工作人员执行,但是,删除某条学生选课基本信息记录时,应实现对该学
生选课的级联删除。并且还应具有生成选课报表,并打印输出的功能。设计不同
用户的操作权限和登陆方法对所有用户开放的学生选课查询和个人部分信息维
护查看个人情况信息维护学生个人密码根据选课情况对数据库进行操作并生成
报表根据选课情况对数据库进行操作并生成报表查询及统计各种信息维选课信
息维护工作人员和管理员信息维护学生信息处理信息的完整性。
1) 学生信息模块完成学生的登陆,然后根据各位同学所在的系不同,调用相
应的选课模块。
2) 其中学生登录模块的功能是验证登录人员确实存在的学生,学生启动本系
统后,系统提示输入学生学号码和密码,验证后进入主控操作界面。
3) 学生注册页面为向该系统添加相应的学生信息;
4) 课程信息管理包括必修课程和选修课程,学生必需先登陆才能进行对课程
的选课否则不能进入选课系统.
2.2 系统功能流程
系统共分为三个模块:学生注册模块、学生选课模块和课程维护模块,功能
模块图如图所示。
东北大学软件学院 实践考核类课程(二)实验报告
5 / 19
相应的页面流程如下所示:
Login.jsp
用户类型
用户名
密码
登陆
Login_confirm
(Servlet)
Student.jsp
Teacher.jsp
Admin.jsp
Errorpage.jsp
用户名或密码有误
数据
2.3 数据库设计
2.3.1 数据表的构建
本系统采用如下的数据表:(时间原因,系统仅实现了学生学科的模块)
学生信息表 student:用于表示学生信息数据表
字段名
类型
长度
是否为主键
可否为空
说明
stuNum
char
8
是
否
学生学号
stuName
varchar
50
否
否
学生姓名
sex
varchar
50
否
否
学生性别
stuCollege
varchar
50
否
否
学院信息
stuClass
varchar
50
否
否
班级信息
stuPass
varchar
50
否
否
学生密码
课程信息表 course: (用于表示课程信息)
字段名
类型
长度
是否为主键
可否为空
说明
courseId
Char
3
是
否
课程号
courseName
varchar
50
否
否
课程名称
teacher
varcher
50
否
否
任课教师
courseDes
50
50
否
否
课程说明
credit
integer
——
否
否
学分