JSP课程设计

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.前言
1.1 实验目的
学习Web应用程序的开发,以B/S方式,JSP编程技术开发学生选课系统;
通过编程实践掌握JSP的动态网页与MySql数据库相结合的技术;
通过MVC(模型-视图-控制)架构模式,使其在开发过程中得以应用,并了解Web编程模式下的Model1和Model2的区别;
了解Struts框架和Hibernet框架的具体含义及Struts与Hibernet相结合模式下的开发
2.2 系统功能流程……………………………………………………………4
2.3 数据库设计………………………………………………………………5
2.3.1数据表构建…………………………………………………………5
2.3.2E_R图………………………………………………………………6
2.3.3 数据表关系…………………………………………………………6
3.2 关键程序流程
本实验的总体流程如下:
本系统应用3层架构模型,现分别对其进行阐述:
第一层架构为数据库层,也是程序的最底层(主要由DataBase.java实现),它的功能实现MySql数据库的连接,函数里只封装了两个操作,intexecuteUpdate(String sql)(用于更新数据表操作)和ResultSet executeQuery(String sql)(用于对数据表进行查询操作);
3.系统实现与测试………………………………………………………………7
3.1 系统采用的关键技术……………………………………………………7
3.2 关键程序流程……………………………………………………………8
3.3 关键代码分析……………………………………………………………8
3.4 出现的问题及解决………………………………………………………11
2.2系统功能流程
系统共分为三个模块:学生注册模块、学生选课模块和课程维护模块,功能模块图如图所示。
相应的页面流程如下所示:
2.3数据库设计
2.3.1数据表的构建
本系统采用如下的数据表:(时间原因,系统仅实现了学生学科的模块)
学生信息表student:用于表示学生信息数据表
字段名
类型
长度
是否为主键
可否为空
1.2 实验的基本要求
该实验要求完成一个简单的基于Web的学生选课系统,主要实现学生注册模块、学生选课管理模块和课程维护模块这三个模块,采用Servlet、JSP、JDBC、DAO等关键技术,并使用JSP Model1和JSP Model2两种模式来实现。
实验中采用的开发环境:
编译器:JDK1.5;
Web服务器:Tomcat6.0;
插件开发平台:MyEclipse6.0 GA;
数据库服务器:MySQL5.1。
本系统有较好的可维护性、可靠性、可理解性、效率。易于用户理解和操作。可维护性包括了可读性、可修改性、可测试性、等含义。可靠性通常包括正确性和健壮性。开发过程中,在各种矛盾的目标之间作权衡,并在一定的限制的条件下(时间、可用的软、硬件资源等),使上述各方面最大限度的得到满足。
3.4.1向数据库中插入数据出现乱码问题………………………………11
3.4.2 实现页面的跳转问题……………………………………………12
4.系统界面………………………………………………………………………12
5.操作方法………………………………………………………………………13
6.分析与总结……………………………………………………………………15
publicbooleanaddStudent(Student student)
{
booleanflag=false;
tryБайду номын сангаас
{
//由于MySql是用Iso-88591进行编码的,从页面(用gbk进行编码的)向数据库中增加数据,数据库信息会显示乱码,下列代码解决改问题
6.1 实验分析与总结…………………………………………………………15
7.附录……………………………………………………………………………16
7.1 参考文献…………………………………………………………………16
7.2 创建数据库脚码及源程序………………………………………………17
7.3 MVC架构模式的认识……………………………………………………17
1)学生信息模块完成学生的登陆,然后根据各位同学所在的系不同,调用相应的选课模块。
2)其中学生登录模块的功能是验证登录人员确实存在的学生,学生启动本系统后,系统提示输入学生学号码和密码,验证后进入主控操作界面。
3)学生注册页面为向该系统添加相应的学生信息;
4)课程信息管理包括必修课程和选修课程,学生必需先登陆才能进行对课程的选课否则不能进入选课系统.
privateStatementst;
//连接MySql的驱动
Class.forName(driver);
con= DriverManager.getConnection(url);
st=con.createStatement();
增加学生信息(在文件student.dao.studentDAO.java中实现的)
第三层为业务逻辑层,主要由servlet层实现,实现页面的控制和跳转到相应的jsp页面,并为每一个操作添加servlet的实现,包括AdminCourseServlet.java 、DeleteCourseServlet.java 、DisplayAllCourseServlet.java 、FindCourseServlet.java LoginServlet.java、SelectCourseServlet.java和RegistStudent.java。
Model2具有组件化的优点从而更易于实现对大规模系统的开发和管理,但是开发MVC系统比简单的JSP开发要复杂许多,它需要更多的时间学习和掌握。同时新东西的引入会带来新的问题(这让我想起来关于"自动计算"的一篇文章,中间提到为了降低系统的复杂度,却导致更高的复杂度)。
必须基于MVC组件的方式重新思考和设计应用结构。原来通过建立一个简单的JSP页面就能实现的应用现在变成了多个步骤的设计和实现过程。 所有的页面和组件必须在MVC框架中实现,所以必须进行附加地开发工作。 MVC本身就是一个非常复杂的系统,所以采用MVC实现Web应用时,最好选一个现成的MVC框架,在此之下进行开发,从而取得事半功倍的效果。现在有很多可供使用的MVC框架,由于Struts有完整的文档并且相对来讲比较简单,所以用它开发MVC系统还是比较方便地。
相应的程序架构如图所示:
3.3关键代码分析
实现数据库的连接信息(在文件DataBase.java中实现的):
//制定与MySql数据库连接的驱动信息
privatestaticfinalStringdriver="com.mysql.jdbc.Driver";
//系统所连接数据库的名字,这里应用系统数据库test
privatestaticfinalStringschema="test";
privatestaticfinalStringname="root";//指定根目录root
privatestaticfinalStringpassword="6328858";//数据库密码
//连接数据库所定义的url信息
privatestaticfinalStringurl=
"jdbc:mysql://localhost:3306/"+schema+"?user="
+name+"&password="+password+"&useUnicode=true&characterEncoding=GBK";
privateConnectioncon;
第二层为JavaBean层和DAO层,主要实现对数据表的信息及对其进行操作的信息进行封装(主要由文件student.java 、studentDAO.java 、course.java 、courseDAO.java 、studentCourse.java和 studentCourseDAO.java来实现的)。在相应的JavaBean层封装了所有数据表的信息,在上述的实体类中(student.java 、course.java 、studentCourse.java)仅包含对属性的set和get方法,在相应的DAO层主要包含对数据表的相关操作,如获得该数据表的全部信息或部分信息,增加、删除、修改、查询相应的数据表;
说明
stuNum
char
8


学生学号
stuName
varchar
50


学生姓名
sex
varchar
50


学生性别
stuCollege
varchar
50


学院信息
stuClass
varchar
50


班级信息
stuPass
varchar
50


学生密码
课程信息表course:(用于表示课程信息)
学校工作人员有修改学生选课的权限,所以需对工作人员登陆本模块进行更多的考虑。在此系统中,学校工作人员可以为学生加入选课或是登陆记录,并打印生成相应的报表给用户查看和确认院系管理人员功能的信息量大,数据安全性和保密性要求最高。本功能实现对选课信息、教师信息、总体选课情况信息的查询和统计、工作人员和管理人员信息查看及维护。学校管理员可以浏览、查询、修改、统计选课的基本信息;浏览、查询、统计和修改学生选课的基本信息,浏览、查询、统计学生信息,但不能添加删除和修改学生的信息,这部分功能应该由院系工作人员执行,但是,删除某条学生选课基本信息记录时,应实现对该学生选课的级联删除。并且还应具有生成选课报表,并打印输出的功能。设计不同用户的操作权限和登陆方法对所有用户开放的学生选课查询和个人部分信息维护查看个人情况信息维护学生个人密码根据选课情况对数据库进行操作并生成报表根据选课情况对数据库进行操作并生成报表查询及统计各种信息维选课信息维护工作人员和管理员信息维护学生信息处理信息的完整性。
1.前言 …………………………………………………………………………3
1.1实验目的………………………………………………………………3
1.2实验基本要求…………………………………………………………3
2.系统分析与设计……………………………………………………………3
2.1 系统功能描述……………………………………………………………3
2.系统分析与设计
2.1系统功能描述
学生选课系统是典型的信息管理系统(MIS),本系统是根据现代化校园的发展而设计的基于jsp的学生选课管理系统,本系统就是为了管理好选课信息而设计的。
学生选课系统需要满足来自两方面的需求,这三个方面分别是学生和管理员。学生的需求是查询院系的课程、学生选课情况及学生信息的修改;选课管理员的功能最为复杂,包括对学生、选课进行管理和统计,及系统状态的查看、维护并生成选课报表。学生可以直接查看选课情况,学生可以根据本人学号和密码登录系统,还可以进行本人课程情况的查询和维护部分个人信息。一般情况下,学生只应该查询和维护本人的选课情况和个人信息,若查询和维护其他学生的选课及成绩查询信息,就要知道其他学生的学号和密码。这些是很难得到的,特别是密码,所以不但满足了学生的要求,还保护了学生的个人隐私。
字段名
类型
长度
是否为主键
可否为空
说明
courseId
Char
3


课程号
courseName
varchar
50


课程名称
teacher
varcher
50


任课教师
courseDes
50
50


课程说明
credit
integer
——


学分
选课信息 studentCourse:(用于表示选课信息)
字段名
类型
长度
是否为主键
可否为空
说明
stuNum
char
8


学生表外键
courseId
char
3


课程表外键
2.3.2E—R图
2.3.3数据库关联表
3.系统的实现与测试
3.1系统采用的关键技术
本系统采用的是Model2模型,Model2表示的是基于MVC模式的框架。MVC是Model-View-Controller的简写。"Model" 代表的是应用的业务逻辑(通过JavaBean,), "View" 是应用的表示面(由JSP页面产生),"Controller" 是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。从而弥补了Model1的不足。
相关文档
最新文档