《JAVAWEB程序设计》报告.docx

上传人:b****4 文档编号:12288075 上传时间:2023-04-17 格式:DOCX 页数:19 大小:227.41KB
下载 相关 举报
《JAVAWEB程序设计》报告.docx_第1页
第1页 / 共19页
《JAVAWEB程序设计》报告.docx_第2页
第2页 / 共19页
《JAVAWEB程序设计》报告.docx_第3页
第3页 / 共19页
《JAVAWEB程序设计》报告.docx_第4页
第4页 / 共19页
《JAVAWEB程序设计》报告.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

《JAVAWEB程序设计》报告.docx

《《JAVAWEB程序设计》报告.docx》由会员分享,可在线阅读,更多相关《《JAVAWEB程序设计》报告.docx(19页珍藏版)》请在冰豆网上搜索。

《JAVAWEB程序设计》报告.docx

《JAVAWEB程序设计》报告

 

南京晓庄学院

《JAVAWEB程序设计》

课程报告

 

题 目:

《学生成绩管理系统》

姓名:

戴佳伟

学号:

14552019

班级:

14软件工程3班

完成时间

成绩:

数学与信息技术学院

2016年5月

目录

1.系统需求分析3

2.相关技术与原理介绍4

3.系统分析与设计5

3.1系统功能分析5

3.2系统结构分析7

3.3数据库设计9

4.系统实现11

4.1教师信息管理模块实现11

4.2成绩信息管理模块实现13

5.总结与体会16

5.1工作总结16

5.2改进设想16

1.系统需求分析

本系统模拟学校对日常教务信息管理过程,开发学生信息管理系统。

该系统可实现对教务资源中的学生信息、教师信息、课表信息、课程信息四个模块进行查询及处理操作。

系统面向的用户分为:

管理员、教师、学生。

根据访问角色的不同,在系统中应体现出对教务资源的访问的权限的不同,其中管理员权限最大,拥有增、删、改、查的权限,而教师和学生角色仅拥有查及限制性的增、改权限,因此在这里需要对系统进行需求分析。

系统功能模块分为六大模块,它们包括:

1.登录模块

该模块实现用户登录、密码修改功能。

用户可选择管理员、教师或学生身份进行登录,并可修改登录密码。

2.学生信息管理

该模块实现学生信息查询、学生信息添加、学生信息修改、学生信息删除功能。

3.教师信息管理

该模块实现教师信息查询、教师信息添加、教师信息修改、教师信息删除。

4.课程信息管理

该模块实现课程信息查询、课程信息添加、课程信息修改、课程信息删除。

5.选课信息管理

该模块实现学生选课查询、学生选课添加、学生选课删除、学生选课修改。

6.成绩信息管理

该模块实现学生成绩查询、学生成绩修改、学生成绩录入、学生成绩删除。

1.管理员功能需求:

学生信息管理:

包括学生信息查询、学生信息添加、学生信息修改、学生信息删除

教师信息管理:

包括教师信息查询、教师信息添加、教师信息修改、教师信息删除

课程信息管理:

包括课程信息查询、课程信息添加、课程信息修改、课程信息删除

选课信息管理:

包括学生选课查询、学生选课添加、学生选课删除

成绩信息管理:

包括学生成绩查询、学生成绩修改、学生成绩录入

2.教师功能需求:

教师信息管理:

教师信息查询

课程信息管理:

教师任课信息查询

成绩信息管理:

学生成绩查询、学生成绩修改、学生成绩录入

3.学生功能需求:

学生信息管理:

学生信息查询

选课信息管理:

学生选课信息查询

成绩信息管理:

学生成绩查询

2.相关技术与原理介绍

(对Tomcat、MySQL、JSP、JDBC、JAVABEAN等技术进行简要介绍)

1.Tomcat:

Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。

Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。

2.MySQL:

MySQL是一个关系型数据库,由瑞典 MySQLAB公司开发,目前属于 Oracle 旗下公司。

MySQL最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem,关系数据库管理系统)应用软件之一。

MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。

MySQL软件采用了双授权政策(本词条"授权政策"),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。

由于其社区版的性能卓越,搭配 PHP ,Linux和 Apache 可组成良好的开发环境,经过多年的web技术发展,在业内被广泛使用的一种web服务器解决方案之一,称之为LAMP。

3.JSP:

JSP全名为JavaServerPages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。

JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。

用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。

4.JDBC:

JDBC(JavaDataBaseConnectivity,java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。

5.JAVABEAN:

JavaBean是一种JAVA语言写成的可重用组件。

为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。

JavaBean通过提供符合一致性设计模式的公共方法将内部域暴露成员属性。

众所周知,属性名称符合这种模式,其他Java类可以通过自身机制发现和操作这些JavaBean的属性。

3.系统分析与设计

3.1系统功能分析

(分析系统功能并给出系统功能结构图)

一:

系统功能:

1.管理员功能需求:

学生信息管理:

包括学生信息查询、学生信息添加、学生信息修改、学生信息删除

查询可以查询到学生的学号,姓名,性别,年龄,分页显示内容;删除可以根据学生的学号进行删除,选择一个学号然后删除整条记录。

教师信息管理:

包括教师信息查询、教师信息添加、教师信息修改、教师信息删除

查询可以查到教师的教师号,姓名,性别,职位,分页显示内容;修改和删除都是根据教师号,修改和删除整条教师记录。

课程信息管理:

包括课程信息查询、课程信息添加、课程信息修改、课程信息删除

查询可以查到课程号,课程名,学分和教师编号;删除和修改都是根据课程号进行删除和修改。

选课信息管理:

包括学生选课查询、学生选课添加、学生选课删除

查询可以根据学生学号来进行查看学生的序号,学号,姓名,课程号,课程名,学期;删除也是根据学生学号进行逐条删除。

成绩信息管理:

包括学生成绩查询、学生成绩修改、学生成绩录入

成绩查询可以查询到学生的序号,学号,课程号,成绩。

2.教师功能需求:

教师信息管理:

教师信息查询

课程信息管理:

教师任课信息查询

成绩信息管理:

学生成绩查询、学生成绩修改、学生成绩录入

3.学生功能需求:

学生信息管理:

学生信息查询

选课信息管理:

学生选课信息查询

成绩信息管理:

学生成绩查询

二:

系统功能结构图

3.2系统结构分析

(对系统的目录结构及分层结构进行分析与说明)

项目总体结构设计

Java类存放于src目录,样式文件、图片资源、Jsp文件存放于WebRoot目录,目录结构如下图:

2.包结构设计

包名称

作用

bean

DBConnectionManager获取并返回数据库连接

vo

包括Student学生、Teacher教师、Course课程、Score分数的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数据库设计

(对数据库进行逻辑设计,对各表结构进行说明)

学生表:

学号,姓名,性别,年龄

教师表:

教师编号,姓名,性别,职称

课程表:

课程编号,课程名,学分,教师编号

选课表:

编号,学号,课程号,学期,分数

成绩表:

编号,学号,课程号,类型,分数

学生表:

教师表:

课程表:

选课表:

成绩表:

4.系统实现

4.1教师信息管理模块实现

(分析各模块设计思路及实现流程,给出关键代码并对代码进行说明,并给出实现效果截图显示)

教师信息管理模块包括对教师信息的增删改查,查询部分显示教师的教师号,姓名,性别,职称;删除部分根据教师编号来进行删除;修改部分也通过选择相应的教师编号进行修改。

关键代码:

intintPageSize;//一页显示的记录数

intintRowCount;//记录总数

intintPageCount;//总页数

intintPage;//待显示页码

StringstrPage;

inti;

intPageSize=5;

这部分代码是对分页显示内容的展现,查询的时候可以分页显示查询的内容;

ArrayListal=tdao.getAllTeachers();

inti=0;

while(i

tea=(Teacher)al.get(i);

StringTNo=tea.getTeano();

这是通过选择一个教师号来删除整条教师记录;

<%StringTNo=null;

StringTname=null;

StringSex=null;

StringTitle=null;

Stringsql="select*fromt_teacher";

//ResultSetrs=stmt.executeQuery(sql);

ArrayListal=tdao.getAllTeachers();

inti=0;

while(i

tea=(Teacher)al.get(i);

TNo=tea.getTeano();

这部分代码,先选择一个编号,然后对空初值进行添加,因为其关联了数据库,所以能把信息添加进数据库;

functioncheck(){

if(addform.teano.value==""){

alert("教师号不能为空!

");

addform.teano.focus();

returnfalse;

}

if(addform.teaname.value==""){

alert("教师姓名不能为空!

");

addform.teaname.focus();

returnfalse;

教师号

姓名

这部分代码给出判断,如果教师号为空,则显示“教师号不能为空!

”然后定义了教师号等的类型,输入相应的教师号等就能添加进数据库。

 

4.2成绩信息管理模块实现

<%=sco.getId()%>

<%=sco.getStuno()%>

<%=sco.getCourseno()%>

<%=sco.getScore()%>

这段代码对成绩查询的编号,学号,课程号和成绩进行定义,显示结果如下图:

 

<%StringId=null;

StringStuno=null;

StringCourseno=null;

StringType=null;

StringScore=null;

Stringsql="select*fromt_score";

//ResultSetrs=stmt.executeQuery(sql);

ArrayListal=sdao.getAllScores();

inti=0;

while(i

sco=(Score)al.get(i);

Id=sco.getId();

这段代码先让用户选择一个id号,然后分别定义学号,课程号,类型,分数,并给定初值为0,然后关联数据库,使得输入进去的数据能添加进数据库;具体实现如下图:

 

if(parseInt(addform.score.value)<0){

alert("成绩不能小于0!

");

addform.score.focus();

returnfalse;

}

if(parseInt(addform.score.value)>100){

alert("成绩不能大于100!

");

addform.score.focus();

returnfalse;

这段代码对学生成绩的范围进行限制,一旦输入的成绩不在定义的范围内,就会出现报错提示,如下图:

 

若成绩在定义的范围内,就会添加成功,如下图:

 

5.总结与体会

5.1工作总结

(总结本次工作内容,收集开发过程中异常错误,对遇到的异常错误进行总结并说明是如何解决)

本次课程设计,我选择的是老师上课做过的学生信息管理系统,在上课做完的以管理员方式登录的学生信息登录的基础上,再增加了以管理员方式登录的教师信息管理,课程信息管理,选课信息管理,成绩信息管理,以及做了以教师方式登录的教师信息管理,课程信息管理,成绩信息管理。

虽说老师上课给了样板,但真正做起来的时候要自己修改的地方还是很多,在做课程设计的过程中遇到了很多问题,有的自己花了大量时间去解决,有的通过询问同学,有的通过询问老师来解决,最终完成了本次设计,

异常错误:

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