《基于MVC模式的学生成绩管理系统》由会员分享,可在线阅读,更多相关《基于MVC模式的学生成绩管理系统(25页珍藏版)》请在金锄头文库上搜索。
1、目 录第1章 概 述11.1 系统目的和意义11.2 系统开发环境11.3 系统开发模式及基本功能1第2章 系统设计32.1系统的模块划分32.2数据库设计3第3章 系统的详细设计及实现63.1数据库底层访问类63.2 登录模块93.3 系统首页面导航113.4 学生信息管理123.5 课程信息管理133.6 学生成绩管理14结 论16参考文献17第1章 概 述1.1 系统目的和意义本次课程设计的题目是“基于MVC模式的学生成绩管理系统”的设计与实现,该设计是对本学期前八周所学的JSP程序设计课程的巩固和深入应用,同时结合Java语言、JSP技术进行Web程序设计,利用前面学过的知识来解决实际
2、问题,锻炼解决问题的能力和动手编程的能力。鉴于近年来,企业级应用系统大多数都部署到Web服务器上,早期的Web应用程序开发技术,已经不能很好的胜任这个任务,因此该课题项目可以提高学生对未来企业的适应性,更好的理解软件工程的意义。1.2 系统开发环境1 本系统采用Browser/Server体系结构。2 系统开发环境1) 开发平台:MyEclipse5.5.1 GA2) 开发语言:JSP、Java3) 数据库:Microsoft SQLServer20053 系统运行环境客户端:浏览器:IE6.0服务器端:数据库:Microsoft SQLServer2005应用程序系统1.3 系统开发模式及基
3、本功能本系统是基于MVC模式设计和开发的,MVC(Model-View-Controller)模式是一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三层模型层、视图层、控制层。MVC是一种软件设计典范,用于组织代码用一种业务逻辑和数据显示分离的方法,这个方法的假设前提是如果业务逻辑被聚集到一个部件里面,而且界面和用户围绕数据的交互能被改进和个性化定制而不需要重新编写业务逻辑MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。基于MVC模式的学生成绩管理系统主要实现前台和后台两部分功能设计,其中
4、前台主要实现按照学生信息、课程信息和成绩信息进行浏览和查询功能,后台主要实现学生信息管理、课程信息管理和学生成绩管理功能 。在学生成绩管理模块中,管理员可以查询、浏览已提交成绩与未提交成绩的课程,对于相应的课程,可以逐条删除或批量删除或修改已提交的成绩信息,教师可以对未提交成绩进行成绩录入,学生只能够查询浏览自己的已提交成绩。所有的查询浏览功能均实现了分页功能。第2章 系统设计2.1系统的模块划分学生成绩管理系统可实现学生成绩管理功能,管理员可以对学生信息和课程信息进行查询、增加、删除、修改。教师可以对学生成绩进行录入。学生可以对自己的成绩进行查询。1、学生信息管理模块管理员可以对学生的信息进
5、行查询、增加、删除、修改,可以批量删除。2、课程信息管理模块管理员可以对课程的信息进行查询、增加、删除、修改,可以批量删除。3、学生成绩管理模块教师可以对成绩信息进行录入。成绩可批量增加。系统功能模块图如图2-1所示。学生成绩管理系统学生信息管理增加课程信息课程信息管理学生成绩管理删除课程信息修改课程信息查询课程信息增加学生信息删除学生信息修改学生信息查询学生信息录入学生成绩查询个人成绩修改学生成绩图2-1 系统功能模块图2.2数据库设计数据库管理系统是允许用户在计算机上创建数据库,增加、修改、删除、排序和检索数据库中的数据,并使用数据库中的数据创建表格和报表的软件系统。数据库的设计是整个系统
6、成败的一个重要环节。合理的数据库设计能够给系统带来很好的效率。而且能够使得各个功能模块的设计变得非常简单而且模块间的关系特别明确。本系统的数据库是在SQL Server2005中创建的。经过需求分析和初步设计,学生成绩管理系统数据库部分主要包含5个表,分别是学生信息表、教师信息表、用户信息表、课程信息表和成绩信息表表的结构、表字段的数据类型及相关说明如下:1、 学生信息表学生信息表包含了学生的学号、姓名、性别、出生年月、专业以及班级信息,表2-1所示是学生信息表结构。表2-1 学生信息表列名说明数据类型约束studentId学号nchar(10)主键studentName姓名nchar(10)
7、非空gender性别char(2)“男”或“女”birthday出生年月nchar(10)department院系nchar(10)非空major专业nchar(10)非空class班级nchar(10)非空2、 教师信息表教师信息表包含了教师的教工号、姓名、性别、出生年月、院系信息,表2-2所示是教师信息表结构。表2-2 教师信息表列名说明数据类型约束teacherId教工号nchar(10)主键teacherName姓名nchar(10)非空gender性别char(2)“男”或“女”birthday出生年月nchar(10)department院系nchar(10)非空3、 用户信息表用
8、户信息表包含了用户的用户名、密码及角色信息。表2-3所示是用户信息表结构。表2-3 用户信息表列名说明数据类型约束userName用户名nchar(10)主键password密码nchar(10)非空actor角色nchar(10)非空4、 课程信息表课程信息表包含了课程的课程号、课程名、开课时间、学分、考试性质、开课专业及任课教师信息。表2-4所示是课程信息表结构。表2-4 课程信息表列名说明数据类型约束courseId课程号nchar(10)主键courseName课程名nchar(10)非空startTime开课时间nchar(10)非空credit学分nchar(10)非空charac
9、ter考试性质nchar(10)非空major开课专业nchar(10)非空teacherId任课教师nchar(10)非空5、 成绩信息表成绩信息表包含了学生成绩的学号、课程号、任课教师号、开课时间、及成绩信息。表2-5所示是课程信息表结构。表2-5 成绩信息表列名说明数据类型约束studentId学号nchar(10)主键courseId课程号nchar(10)主键teacherId任课教师号nchar(10)非空startTime开课时间nchar(10)非空Grade成绩nchar(10)非空以上就是学生成绩管理系统所需的数据表,按照这些表结构设计,在Microsoft SQLServ
10、er2005中创建数据库GradeManage,并创建相应的表。第3章 系统的详细设计及实现3.1数据库底层访问类本系统的设计使用基于Servlet的MVC架构模式,将系统的各个功能的实现过程严格的划分为视图(View)、控制(Controller)、模型(Model),其中View负责界面的显示,Controller负责请求的转发和响应,Model负责逻辑业务对象实体和业务实体。由于本系统是一种信息管理系统,在这三层之下,还要建立数据库访问层,该层完成数据库的连接、SQL语句的具体执行等操作。这一层由MVC模式中的Model层里的业务实体进行调用,从而完成逻辑业务的信息维护操作。3.1.1J
11、DBC数据库访问技术JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序。有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程
12、序等等,程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。Java数据库连接(JDBC)由一组用 Java 编程语言编写的类和接口组成。JDBC 为工具/数据库开发人员提供了一个标准的 API,使他们能够用纯Java API 来编写数据库应用程序。然而各个开发商的接口并不完全相同,所以开发环境的变化会带来一定的配置变化。本文主要集合了不同数据库的连接方式。SQL SERVER连接方式:第一步:新建
13、类DBManager.java第二步:导包操作第三步:编写类代码public class DBManager 1、定义变量2、获取连接方法getConnection3、执行查询方法executeQuery或更新方法executeUpdate4、释放资源的方法releaseSource然后把sqljdbc.jar导入到项目文件下的WEB-INF下的lib文件夹中。3.1.2添加DBManager公共类首先创建包nepu.tools,在该包下创建名为DBManager的类,该类得职责用于提供访问、操作数据库的公共方法。添加公共类的方法和步骤如下:在工程中的包名上点右键,选择【New】-【Class
14、】菜单项,将弹出【New Java Class】对话框,保留默认的选择,在Name文本框中输入DBManager,点击Finsih按钮。3.1.3编写公共方法3.1.2小节为项目添加了一个DBManager类,该类用于存放连接、操作数据库的公共方法,本小节介绍如何编写这些公共方法。首先为DBManager类声明几个公共变量,其中conn为数据库连接对象,stmt用于发送SQL语句、接收SQL的执行结果,rs为执行查询语句得到的结果集,uri表示要连接的数据库的路径,根据数据库不同变化,user为登录数据库的用户名,password为登录数据库的密码。该类的变量声明代码如下:private String uri = jdbc:sqlserver:/localhost:1433;DatabaseName=GradeManage;private String user = sa;private String password = ;private Connection conn = null;private Statement stmt = null;private ResultSet rs = null;1、数据库连接方法getConnection()该方法首先要在程序中加载驱动,Cla