1、JAVA WEB程序设计报告南京晓庄学院JAVA WEB程序设计课程报告题 目:学生成绩管理系统姓 名:戴佳伟 学 号:班 级:14软件工程3班 完成时间 成 绩:数学与信息技术学院2016年5月1. 系统需求分析 32. 相关技术与原理介绍 43. 系统分析与设计 53.1 系统功能分析 53.2 系统结构分析 73.3 数据库设计 94. 系统实现 114.1 教师信息管理模块实现 114.2 成绩信息管理模块实现 135. 总结与体会 165.1 工作总结 165.2 改进设想 161. 系统需求分析 本系统模拟学校对日常教务信息管理过程,开发学生信息管理系统。该系统可实现对教务资源中的
2、学生信息、教师信息、课表信息、课程信息四个模块进行查询及处理操作。系统面向的用户分为:管理员、教师、学生。根据访问角色的不同,在系统中应体现出对教务资源的访问的权限的不同,其中管理员权限最大,拥有增、删、改、查的权限,而教师和学生角色仅拥有查及限制性的增、改权限,因此在这里需要对系统进行需求分析。系统功能模块分为六大模块,它们包括:1.登录模块该模块实现用户登录、密码修改功能。用户可选择管理员、教师或学生身份进行登录,并可修改登录密码。2.学生信息管理该模块实现学生信息查询、学生信息添加、学生信息修改、学生信息删除功能。3.教师信息管理该模块实现教师信息查询、教师信息添加、教师信息修改、教师信
3、息删除。4.课程信息管理该模块实现课程信息查询、课程信息添加、课程信息修改、课程信息删除。5.选课信息管理该模块实现学生选课查询、学生选课添加、学生选课删除、学生选课修改。6.成绩信息管理该模块实现学生成绩查询、学生成绩修改、学生成绩录入、学生成绩删除。1.管理员功能需求:学生信息管理:包括学生信息查询、学生信息添加、学生信息修改、学生信息删除教师信息管理:包括教师信息查询、教师信息添加、教师信息修改、教师信息删除课程信息管理:包括课程信息查询、课程信息添加、课程信息修改、课程信息删除选课信息管理:包括学生选课查询、学生选课添加、学生选课删除成绩信息管理:包括学生成绩查询、学生成绩修改、学生成
4、绩录入2.教师功能需求:教师信息管理:教师信息查询课程信息管理:教师任课信息查询成绩信息管理:学生成绩查询、学生成绩修改、学生成绩录入3.学生功能需求:学生信息管理:学生信息查询选课信息管理:学生选课信息查询成绩信息管理:学生成绩查询2.相关技术与原理介绍(对Tomcat、MySQL、JSP、JDBC、JAVABEAN等技术进行简要介绍)1.Tomcat:Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。Tomcat 服务器是一个免费的开放源代码的Web
5、 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。2.MySQL:MySQL 是一个关系型数据库,由瑞典MySQL AB 公司开发,目前属于Oracle旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 所使
6、用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策(本词条授权政策),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。由于其社区版的性能卓越,搭配PHP,Linux和Apache可组成良好的开发环境,经过多年的web技术发展,在业内被广泛使用的一种web服务器解决方案之一,称之为LAMP。3.JSP:JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它 是由Sun Microsystems公司倡导、许多公
7、司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。4.JDBC:JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。5.JAVABEAN:JavaB
8、ean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性。众所周知,属性名称符合这种模式,其他Java 类可以通过自身机制发现和操作这些JavaBean 的属性。3.系统分析与设计3.1 系统功能分析(分析系统功能并给出系统功能结构图)一:系统功能:1.管理员功能需求:学生信息管理:包括学生信息查询、学生信息添加、学生信息修改、学生信息删除查询可以查询到学生的学号,姓名,性别,年龄,分页显示内容;删除可以根据学生的学号进行删除,选择一个学号然后删除整条记录。教师
9、信息管理:包括教师信息查询、教师信息添加、教师信息修改、教师信息删除查询可以查到教师的教师号,姓名,性别,职位,分页显示内容;修改和删除都是根据教师号,修改和删除整条教师记录。课程信息管理:包括课程信息查询、课程信息添加、课程信息修改、课程信息删除查询可以查到课程号,课程名,学分和教师编号;删除和修改都是根据课程号进行删除和修改。选课信息管理:包括学生选课查询、学生选课添加、学生选课删除查询可以根据学生学号来进行查看学生的序号,学号,姓名,课程号,课程名,学期;删除也是根据学生学号进行逐条删除。成绩信息管理:包括学生成绩查询、学生成绩修改、学生成绩录入成绩查询可以查询到学生的序号,学号,课程号
10、,成绩。2.教师功能需求:教师信息管理:教师信息查询课程信息管理:教师任课信息查询成绩信息管理:学生成绩查询、学生成绩修改、学生成绩录入3.学生功能需求:学生信息管理:学生信息查询选课信息管理:学生选课信息查询成绩信息管理:学生成绩查询二:系统功能结构图3.2 系统结构分析(对系统的目录结构及分层结构进行分析与说明)项目总体结构设计Java类存放于src目录,样式文件、图片资源、Jsp文件存放于WebRoot目录,目录结构如下图:2.包结构设计包名称作用beanDBConnectionManager获取并返回数据库连接vo包括Student学生、Teacher教师、Course课程、Score
11、分数的JAVABEAN类,可实现各自的set与get方法dao包括LoginDao、StudentDao、TeacherDao、CourseDao、ScoreDao的JAVABEAN组件,实现对数据库的访问操作servlet包含各业务的控制器组件3.项目结构设计文件及目录名称作用css系统样式文件目录image系统图片目录studentEntry学生权限访问资源目录studentManage管理员权限访问资源目录TeacherEntry学生教师权限访问资源目录Index.jsp系统入口,提供登录界面loginAction.jsp登录处理程序Logout.jsp登录注销处理3.3 数据库设计(对
12、数据库进行逻辑设计,对各表结构进行说明)学生表:学号,姓名,性别,年龄教师表:教师编号,姓名,性别,职称课程表:课程编号,课程名,学分,教师编号选课表:编号,学号,课程号,学期,分数成绩表:编号,学号,课程号,类型,分数学生表:教师表:课程表:选课表:成绩表:4.系统实现4.1 教师信息管理模块实现(分析各模块设计思路及实现流程,给出关键代码并对代码进行说明,并给出实现效果截图显示)教师信息管理模块包括对教师信息的增删改查,查询部分显示教师的教师号,姓名,性别,职称;删除部分根据教师编号来进行删除;修改部分也通过选择相应的教师编号进行修改。关键代码: int intPageSize; /一页显
13、示的记录数 int intRowCount; /记录总数 int intPageCount; /总页数 int intPage; /待显示页码 String strPage; int i;intPageSize=5;这部分代码是对分页显示内容的展现,查询的时候可以分页显示查询的内容; ArrayList al=tdao.getAllTeachers(); int i=0; while(ial.size() tea=(Teacher)al.get(i); String TNo=tea.getTeano();这是通过选择一个教师号来删除整条教师记录; %String TNo=null; Strin
14、g Tname=null; String Sex=null; String Title=null; String sql=select * from t_teacher; /ResultSet rs=stmt.executeQuery(sql); ArrayList al=tdao.getAllTeachers(); int i=0; while(ial.size() tea=(Teacher)al.get(i); TNo=tea.getTeano();这部分代码,先选择一个编号,然后对空初值进行添加,因为其关联了数据库,所以能把信息添加进数据库;function check() if) al
15、ert(教师号不能为空!); return false; if) alert(教师姓名不能为空!); return false;教师号 姓名 这部分代码给出判断,如果教师号为空,则显示“教师号不能为空!”然后定义了教师号等的类型,输入相应的教师号等就能添加进数据库。4.2 成绩信息管理模块实现 这段代码对成绩查询的编号,学号,课程号和成绩进行定义,显示结果如下图: %String Id=null; String Stuno=null; String Courseno=null; String Type=null; String Score=null; String sql=select * f
16、rom t_score; /ResultSet rs=stmt.executeQuery(sql); ArrayList al=sdao.getAllScores(); int i=0; while(ial.size() sco=(Score)al.get(i); Id=sco.getId();这段代码先让用户选择一个id号,然后分别定义学号,课程号,类型,分数,并给定初值为0,然后关联数据库,使得输入进去的数据能添加进数据库;具体实现如下图:if alert(成绩不能小于0!); return false; if alert(成绩不能大于100!); return false;这段代码对学生
17、成绩的范围进行限制,一旦输入的成绩不在定义的范围内,就会出现报错提示,如下图:若成绩在定义的范围内,就会添加成功,如下图:5.总结与体会5.1 工作总结(总结本次工作内容,收集开发过程中异常错误,对遇到的异常错误进行总结并说明是如何解决) 本次课程设计,我选择的是老师上课做过的学生信息管理系统,在上课做完的以管理员方式登录的学生信息登录的基础上,再增加了以管理员方式登录的教师信息管理,课程信息管理,选课信息管理,成绩信息管理,以及做了以教师方式登录的教师信息管理,课程信息管理,成绩信息管理。虽说老师上课给了样板,但真正做起来的时候要自己修改的地方还是很多,在做课程设计的过程中遇到了很多问题,有
18、的自己花了大量时间去解决,有的通过询问同学,有的通过询问老师来解决,最终完成了本次设计,异常错误:1.问题:学生信息删除的时候下拉框中都是0001解决方法:在代码中加一个while型循环2.问题:在添加课程信息时添加不进去解决办法:使用js页面跳转的方法使页面跳转过去3.问题:一开始以为lookcourse是课程查询,结果出现了好多错误解决办法:再建一个查询课程的jsp,并添加Dao包和Vo包4.问题:教师信息删除的时候选择完之后删除不掉,出现500的错误5.2 改进设想(分析系统存在不足,提出改进设想)1.添加操作无需密码;删掉密码这一段代码。2.修改成绩时根据学生学号来修改,而不是序号;可以把下拉框的代码运用到学号上,而不是序号上。3.成绩查询时也可以根据学号,点击相应的学号查询相对应的学生的成绩;4.删除课程信息时只显示删除成功,最好能把删除掉的具体的课程和其他信息显示出来。5.系统中最好给出批量删除的功能;可以提供选择按钮,对选择的选项可以进行批量删除。6.增加条件检索功能,例如可输入学生姓名或学号来检索该学生信息。查询课程及成绩信息时可选择学号或学期来检索。7.成绩查询时显示分页内容,但由于记录较多,一页显示5行记录显得有点少,要查找起来有点麻烦;可以在代码中设置一页显示多一点的记录,减少检索时间。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1