admin 管理员组

文章数量: 887031


2023年12月19日发(作者:soap的含义)

毕业论文--基于jsp(java)学生成绩管理系统的设计和实现

摘 要

学生成绩管理系统主要用于各类大学院校在教学这一部分的管理,是针对于教务处对课程、对学生、对学生成绩进行合理地安排以及统筹计划,以便让教务处以最短的工作时间内把学生的成绩核算出来,提高教务处的办事效率。同时,能够随时对学生基本信息、学生成绩进行各种查询,以便及时很好地对需要了解的信息得到相应的反馈,能有效的帮助教务处的工作,可使学院教职工减轻工作压力,比较系统地对、教务教学上的各项服务和信息进行管理。

本系统是针对学生成绩管理进行设计的,主要用户为学校教务管理老师,但学生也可参与对自己信息的核对确认。主要采用的开发工具是JSP和MYSQL。在开发过程中利用面向对象的程序思想和严格按照软件工程的开发过程来进行分析和设计。本系统所要完成以下几个主要功能,其中有学生成绩管理、学生基本信息管理等等,实现对学生基本信息和成绩进行录入、修改、删除、查询等操作。

系统基本满足了学生成绩管理的功能需要,确实为学校对学生的管理提供了便利。本系统界面友好、操作简单,对学生基本情况和成绩加快了查询速度、加强了管理,使各项管理更加规范化。

关键词: 模块化,数据库,数据库管理系统

Abstract

The management system of student’s achievement is mainly applied

in part of teaching management of all kinds of universities. It is applied

in administration section to arrang curriculum , student’s achievement

and so on , in order to account student’s achievement so quickly that

enhance work efficience. Meanwhile, the system can inquire achievement

and information of students in order to get some useful

, thus ,it can gaves some help to administration

section and alleviate work pressure of academic staffs and manage all

kinds of sevices and informations in syslematically.

The system is designed for management of student’s achievement.

It is mostly used by teacher whom work in administration section. It is

sometimes used by student whom want to check his information. Mainly USES

the development tools are JSP and MYSQL .The mainly foundation must to

be accomplished in the management system of student’s achievement as

follows: management of student’s achievement , management of student’s

basic information and so on .Of course, the system can be aimed at

achievement and basic information of student to modify or delete or

inquire records.

The system content with foundation of managment of student’s

achievement in basically,it provides converience with school to manage

student . The interface is provided by system is friendly , and the

operation is simple . To achievement and basic information of student’s ,

it speeds up for inquring . Strengthen management and molkes all kinds

of management more standardlize. In a words , the system has compatibitily

and is suited for most people .

Keywords:modularize, database , DBMS

目 录

要.....................................................................1

第一章 选课的目的与意义...................................................4

1.1

述..............................................................4

1.2 课题来源、目的与意概义..............................................4

第二章 系统的开发技术及主要构架...........................................7

2.1 开发技术的选择....................................................7

2.2 项目开发的工具....................................................7

2.3 数据库的连接.....................................................11

第三章 需求分析..........................................................13

3.1 功能分析.........................................................13

3.2 流程分析.........................................................14

3.3系统概念模型描述................................................. 16

3.4 数据库设计.......................................................20

第四章 系统的设计与实现..................................................24

4.1 管理员模块功能...................................................24

4.2 教师模块功能.....................................................37

4.3 学生模块功能.....................................................45

结....................................................................53

参考文

献..................................................................54

谢....................................................................55

1.选题的目的和意义

1.1 概述

本管理系统主要内容是学生成绩管理,其中有学生成绩管理,学生基本情况管理等等。在开发过程中,注意使其符合操作的业务流程,并力求系统的全面性、通用性,使得本系统能适用于各类大学院校。在开发方法的选择上,选择了生命周期法与原型法相结合的方法,遵循系统调查研究、系统分析、系统设计和系统实施四个主要阶段进行设计,而在具体的设计上,采取了演化式原型法,随着用户的使用及对系统了解的不断加深,对某一部分或几部分进行重新分析、设计、实施。在开发工具的选择上,我使用了 JSP及MYSQL关系数据库开发工具, 在短时间内建立系统应用原型。然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成一个满意的可行系统。本文以学校管理信息系统建设中的成绩管理子系统的开发为背景,论述了管理信息系统的概念、结构及系统开发的基本原理和方法,全文共分为概述、系统分析、系统总体设计、详细设计、开发总结、致谢、参考文献、附录等。

1.2 课程来源、目的与意义

学院在教学这一部分主要是由教务处对课程、对学生、对学生成绩进行合理地安排以及统筹计划,以便让教务处以最短的工作时间内把学生的成绩核算出

来,提高教务处的办事效率。同时,能够随时对学生基本信息、学生成绩进行各种查询,以便及时很好地对需要了解的信息得到相应的反馈,能有效的帮助教务处的工作,可使学院教职工减轻工作压力。

利用成绩管理系统对学生的成绩进行合理管理,实现学生成绩的录入、编辑、删除等功能,也可以实现成绩的排序、检索等。它将成为教务处老师的一个很好的帮手。本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。本系统能在学院的管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,该系统的完成将具有以下几点重要的意义:

(1)系统具有较强的实用性、可靠性和适用性,同时也具有一定的先进性。

(2)对各个数据库能进行动态管理,有效的防止了数据的混乱。

(3)能够按照用户选择的不同的条件进行简单查询和复合查询。

(4)能够对查询结果进行分类汇总,实现报表打印。

(5)并且注意到了数据的安全性,具有数据备份和恢复的功能。

(6)简化了用户的操作过程,尽量减少用户的工作量。

2 系统的开发技术及主要架构

2.1开发技术的选择

合理的选择开发技术,对于网站开发的完成情况有着非常重要的影响。要开发一个网站,首先要选择一个动态网页开发技术。当前比较流行的动态网页开发技术有JSP、ASP、PHP。它们的特性比较如表3-1所示:

表2-1 asp/jsp/php比较表

技术名称 ASP JSP PHP 对数据库的支持 好 好 好 开发难易

度 容易

UNIX

容易

较难 使用平台 Windows9X/NT Windows/UNIX好 不好 对组件的支持 支持 支持安全性 不好

不支持

不好

执行方式 解释执行 编译之后执行 解释执行 跨平台好 好 这三种都是在传统的6>HTML代码中,利用HTML标签的扩展,构成页面。不难看出,JSP的综合实力是最强的,尤其是在安全性和跨平台性两个方面,比其他的两种技术都要好,因此,最后我们选择基于Java的JSP技术作为动态网页的开发技术。

2.2 项目开发的工具

本系统采用MyEclipse8.6+My+tom

MyEclipe简介

MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。在结构上,MyEclipse的特征可以被分为7类:

1. JavaEE模型

2. WEB开发工具

3. EJB开发工具

4. 应用程序服务器的连接器

5. JavaEE项目部署服务

6. 数据库服务

7. MyEclipse整合帮助

对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。

MySql简介

MySQL名字的来历MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司,在2008年1月16号被Sun公司收购。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL Cluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。

PowerDesigner简介

PowerDesigner是一个功能强大而使用简单工具集,提供了一个复杂的交互环境,支持开发生命周期的所有阶段,从处理流程建模到对象和组件的生成。PowerDesigner产生的模型和应用可以不断地增长,适应并随着你的组织的变化而变化。

PowerDesigner系列产品提供了一个完整的建模解决方案,业务或系统分析人员,设计人员,数据库管理员DBA和开发人员可以对其裁剪以满足他们的特定

的需要;而其模块化的结构为购买和扩展提供了极大的灵活性,从而使开发单位可以根据其项目的规模和范围来使用他们所需要的工具。PowerDesigner灵活的分析和设计特性允许使用一种结构化的方法有效地创建数据库或数据仓库,而不要求严格遵循一个特定的方法学。PowerDesigner提供了直观的符号表示使数据库的创建更加容易,并使项目组内的交流和通讯标准化,同时能更加简单地向非技术人员展示数据库和应用的设计。

PowerDesigner不仅加速了开发的过程,也向最终用户提供了管理和访问项目的信息的一个有效的结构。它允许设计人员不仅创建和管理数据的结构,而且开发和利用数据的结构针对领先的开发工具环境快速地生成应用对象和数据敏感的组件。开发人员可以使用同样的物理数据模型查看数据库的结构和整理文档,以及生成应用对象和在开发过程中使用的组件。应用对象生成有助于在整个开发生命周期提供更多的控制和更高的生产率。

Tomcat简介

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta

项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。

Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。

这里的诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。

2.3 数据库的连接

本系统采用JDBC连接方式。

JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序。

有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用。

同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。

Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。

Java 具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。所需要的只是 Java应用程序与各种不同数据库之间进行对话的方法。而 JDBC 正是作为此种用途的机制。

JDBC 扩展了 Java 的功能。例如,用 Java 和 JDBC API 可以发布含有

applet 的网页,而该 applet 使用的信息可能来自远程数据库。企业也可以用

JDBC 通过 Intranet 将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机有 Windows、 Macintosh 和UNIX 等各种不同的操作系统)。随着越来越多的程序员开始使用Java 编程语言,对从 Java 中便捷地访问数据库的要求也在日益增加。

MIS 管理员们都喜欢 Java 和 JDBC 的结合,因为它使信息传播变得容易和经济。企业可继续使用它们安装好的数据库,并能便捷地存取信息,即使这些信息是储存在不同数据库管理系统上。新程序的开发期很短。安装和版本控制将大为简化。程序员可只编写一遍应用程序或只更新一次,然后将它放到服务器上,

随后任何人就都可得到最新版本的应用程序。对于商务上的销售信息服务, Java

和JDBC 可为外部客户提供获取信息更新的更好方法。

package ;

import ection;

import erManager;

import ltSet;

import xception;

import ement;

public class DataBaseConnection

private static String DBDRIVER ".Driver" ;

private static String DBURL "jdbc: gbk" ;

private static String DBUSER "root" ;

private static String DBPASSWORD "" ;

private static Connection conn null ;

public Connection getConnection

try

e DBDRIVER ;

conn nection

DBURL,DBUSER,DBPASSWORD ;

catch Exception e

Sytln "vv"+sage ;

return conn ;

public void close

try

catch Exception e

e ;

3 需求分析

3.1 功能分析

经过前期的深入调查和研究,总结出该系统需要完成的一些具体功能,分析如下:

管理员管理 能够完成管理员对教师的信息管理(教师信息查询、信息修改、增加信息、信息删除)、学生管理(学生信息查询、选课查询、学生信息修改、学生信息删除)、课程管理(课程信息查询、课程管理),以及查看、回复和删除留言的功能。

教师管理 能够完成开设课程、信息查询、成绩提交、密码修改的功能。

学生管理 能够完成个人信息查询、选择课程、密码修改、留言的功能。

图3.1 功能模块图

3.2流程分析

系统流程

只有在教师开设了某一门课程,并且在网上提交成功以后,学生才可以查询到此门课程,并且才可以选定课程,提交成功以后,待考试结束,教师即可对选择自己开设课程的学生录入成绩,并且提交。

图3.2 选课系统流程图

登录流程

登陆的时候会根据用户的用户名进行判断是哪种身份的登录,并以不同的身份登陆后执行不同的功能,具有不同的权限。

图3.3 登陆流程图

3.3 系统概念模型描述

目前,在概念设计阶段实体联系模型是广泛使用的设计工具。

统的实体型

本系统包括学生、教师、班级三个主要实体。

学生实体型属性有学号、姓名、登录密码。

课程实体型属性有课程编号、课程名称、课程学分。

教师实体性属性有教师编号、教师姓名、登录密码。

系统局部E-R图

学生实体型与课程实体型存在选课的联系,一个学生可以选修多门课程,每门课程可以被多个学生选修,所以它们之间存在多对多联系 m:n ,如下图所示:

图3.4 学生---课程E-R图

教师实体型与课程实体型存在属于的关系,一个课程只可属于一个教师,每个教师可以有多个课程,所以教师实体型和课程实体型存在一对多联系 1:n ,

如下图所示:

图3.5 教师---课程E-R图

系统的局部E-R图,只反映局部应用实体型之间的联系,但不能从整体上反映实体型之间的相互关系。另外,对于一个较为复杂的应用而言,各部分是由多个分析人员合作完成的,画出的E-R图只能反映各局部应用。各局部E-R图之间可能存在一些冲突和重复的部分。为减少这些问题,必须根据实体联系在实际应用中的语义,进行综合、调整和优化,得到系统的合成优化E-R图,如下图所示:

图3.6 系统E-R图

3.4 数据库设计

得出数据表的各个关系模式后,需要给出是各数据表结构。考虑系统的兼容性及编写程序的方便性,可将关系模式的属性对应为表字段的英文名。同时,考虑到数据依赖关系和数据完整性,需要指出表的主码和外码,以及字段的值域约束和数据类型。

数据库名:msc

表1 课程表course

字段 字段名 类型

值型 20 是 否

长度 主键 可否为空 Con 课程编号 数否 Credit 学Cname 课程名称 文本型 50

分 数值型 20

表2 学生表student

字段 字段名 类型

值型 20 是 否

长度 主键 可否为空 Sid 学生编号 数否

Smajor 专TcreditSname 学生姓名 文本型 50

Sclass 班级 数值型 20 业 文本型 50

总学分 数值型 20

Ocredit

Tcreditjd 挂科学分 数值型 20

Acredit

总学分平均学分绩点 数值型 20

绩点

数值型 20 Egrade 课程班级 数值型 20

Classpm

Majorpm

20

专业排名 数值型 20

班级排名 数 值型 Scode 登录密码 数值型 20

表3 教师表teacher

字段 字段名 类型

值型 20 是 否

长度 主键 可否为空 Tid 教师编号 数否 Tcode 登Tname 教师姓名 文本型 50

录密码 数值型 20

表4 用户表user

字段 字段名 类型

20 是 否 Name

长度 主键 可否为空 Id 用户名 数值型Code

登录密

用户姓名 文本型 50

Kind

码 数值型 20 登录身份 数值型 20

表5 开设课程表teacher_course

字段 字段名 类型

20 是 否

长度 主键 可否为空 Id 编号 数值型Tid 教师编号 数值型 20 是 否

Credit 学分

数值型 20

Con 课程编号 数 Avscore

平值型

均分

20 是 否

数值型 20 score 最高分 数值型 20

Minscore 最低分 数值型 20

20

Cteachno 教学班号 数值型

Ctime 上 CselClocation 上课地点 数值型 20

课时间 文本型 50

C 课程容量 数值型 20

已选人数 数值型 20

表6 学生选课表student_course

字段 字段名 类型

20 是 否

长度 主键 可否为空 Id 编号 数值型Sid 学生编号 数值型 20 是 否 Con 课程编号 数Credit 学

分值型

20 是 否

Tid 教师编号 数值型 20 是 否

Pscore 平均成绩 数值型 20

数值型 20 Lscore平时成绩 数值型 20

Scorejd

Escore 期末成绩 数值型 20

学分绩点 数值型 20

表7 留言表record

字段 字段名 类型

20 是 否

50

长度 主键 可否为空 Mid 编号 数值型Id 用户名 文本型 50 是 否

Content

Name 用户姓名 文 Date本型

否 留言内容 文本型 255

留言日期 日期型

4.系统的设计与实现

4.1管理员模块功能

管理员模块详细表述:首先进入登陆界面

图4.1 登录页面

输入用户名:admin 密码:123 以管理员身份登录

息管理

1.添加学生信息

图4.2 添加学生信息页面

public void InsertStudent String sid,String sname,String

smajor,String sclass,String scode throws Exception

String sql "INSERT INTO student sid,sname,smajor,sclass,scode

VALUES '"+sid+"','"+sname+"','"+smajor+"','"+sclass+"','"+scode+"' ;";

2.删除学生信息

图4.3 删除学生信息页面

public void DeletebyID String sid throws Exception

String sql "DELETE FROM student WHERE sid '"+sid+"';";

Statement stmt null;

DataBaseConnection dbc null;

dbc new DataBaseConnection ;

Statement stmt null;

DataBaseConnection dbc null;

dbc new DataBaseConnection ;

try

stmt nection .createStatement ;

eUpdate sql ;

;

catch Exception e

throw new Exception "插入中出现错误!!!" ;

finally

;

try

stmt nection .createStatement ;

eUpdate sql ;

;

catch Exception e

throw new Exception "删除中出现错误!!!" ;

finally

;

3.查询学生信息

图4.4 查询学生信息页面

public Vector Select String sid,String sclass,String smajor throws

Exception

Vector all new Vector ;

String sql1 "SELECT * FROM student WHERE";

String sql null;

if sid! ""

sql sql1+" sid LIKE '%"+sid+"%'";

if sclass! ""

sql sql+" and sclass LIKE '%"+sclass+"%'";

if smajor! ""

sql sql+" and smajor LIKE '%"+smajor+"%'";

else

if sclass! ""

else

if smajor! ""

sql sql1+" smajor LIKE '%"+smajor+"%'";

sql sql1+" sclass LIKE '%"+sclass+"%'";

if smajor! ""

sql sql+" and smajor LIKE '%"+smajor+"%'";

else

sql "SELECT * FROM student";

sql sql+" ORDER BY egrade DESC;";

Statement stmt null;

DataBaseConnection dbc null;

dbc new DataBaseConnection ;

try

stmt nection .createStatement ;

ResultSet rs eQuery sql ;

while

Student stu new Student ;

ing "sid" ;

me ing "sname" ;

jor ing "smajor" ;

ass ing "sclass" ;

edit ble "tcredit" ;

editjd ble "tcreditjd" ;

edit ble "ocredit" ;

edit ble "acredit" ;

ade ble "egrade" ;

orpm "majorpm" ;

sspm "classpm" ;

de ing "scode" ;

ment stu ;

;

;

catch Exception e

throw new Exception "查询中出现错误!!!" ;

finally

return all;

;

public String SelectBySid String sid throws Exception

String sname null;

String sql "select sname from student where sid '"+sid+ "';";

Statement stmt null;

DataBaseConnection dbc null;

dbc new DataBaseConnection ;

try

stmt nection .createStatement ;

ResultSet rs eQuery sql ;

while

;

;

sname ing "sname" ;

catch Exception e

// TODO: handle exception

throw new Exception "查询中出错!!!" ;

finally

return sname;

;

4.修改学生信息

图4.5 修改学生信息页面

public void UpdatebyID String sid,String sname,String smajor,String

sclass,String scode throws Exception

String sql "UPDATE student set sname '"+sname+"',smajor

'"+smajor+"',sclass '"+sclass+"',scode '"+scode+"' WHERE sid

'"+sid+"';";

Statement stmt null;

DataBaseConnection dbc null;

dbc new DataBaseConnection ;

try

stmt nection .createStatement ;

eUpdate sql ;

;

catch Exception e

throw new Exception "修改中出现错误!!!" ;

finally

;

5.查看留言

图4.6 留言板

public Vector SearchMassage throws Exception

Vector all new Vector ;

String sql "SELECT * FROM record ORDER BY mid desc";

Statement stmt null;

DataBaseConnection dbc null;

dbc new DataBaseConnection ;

try

stmt nection .createStatement ;

ResultSet rs eQuery sql ;

while

Massage msg new Massage ;

"mid" ;

ing "id" ;

e ing "name" ;

tent ing "content" ;

e ing "date" ;

ment msg ;

;

;

catch Exception e

throw new Exception "查询中出现错误!!!" ;

finally

;

return all;

可以对留言进行删除和回复操作:

图4.7 管理员回复页面

public void InsertMassage String id,String name,String

content,String date throws Exception

String sql "INSERT INTO record id,name,content,date

VALUES '"+id+"','"+name+"','"+content+"','"+date+"' ;";

public void DeletebyMid int mid throws Exception

String sql "DELETE FROM record WHERE mid "+mid+";";

Statement stmt null;

DataBaseConnection dbc null;

dbc new DataBaseConnection ;

try

stmt nection .createStatement ;

eUpdate sql ;

Sytln "##############" ;

;

catch Exception e

throw new Exception "插入中出错!!!" ;

finally

;

Statement stmt null;

DataBaseConnection dbc null;

dbc new DataBaseConnection ;

try

stmt nection .createStatement ;

eUpdate sql ;

;

catch Exception e

throw new Exception "删除中出现错误!!!" ;

finally

;

教师信息管理

1.添加教师信息

图4.8 添加教师信息页面

public class TeacherDAO

public void InsertTeacher String tid,String tname,String tcode

throws Exception

String sql "INSERT INTO teacher tid,tname,tcode VALUES

'"+tid+"','"+tname+"','"+tcode+"' ;";

Statement stmt null;

DataBaseConnection dbc null;

dbc new DataBaseConnection ;

try

stmt nection .createStatement ;

eUpdate sql ;

;

catch Exception e

throw new Exception "插入中出现错误!!!" ;

finally

;

2.删除教师信息

3.查询教师信息

4.修改教师信息

课程管理

1.添加课程信息

2.删除课程信息

3.查询课程信息

图4.9 查询课程信息页面

public Vector Select String cno,String cname,double credit throws

Exception

Vector all new Vector ;

String sql1 "SELECT * FROM course WHERE ";

String sql null;

if cno! ""

sql sql1+"cno LIKE '%"+cno+"%'";

if cname! ""

if credit! 0

sql sql+"credit '"+credit+"'";

sql sql+"and cname LIKE '%"+cname+"%'";

else

if cname! ""

sql sql1+"cname LIKE '%"+cname+"%'";

if credit! 0

sql sql+"and credit '"+credit+"'";

else

if credit! 0

sql sql1+"credit '"+credit+"'";

else

sql "SELECT * FROM course";

sql sql+";";

Statement stmt null;

DataBaseConnection dbc null;

dbc new DataBaseConnection ;

try

stmt nection .createStatement ;

ResultSet rs eQuery sql ;

while

Course cou new Course ;

ing "cno" ;

me ing "cname" ;

dit ble "credit" ;

ment cou ;

;

;

catch Exception e

throw new Exception "查询中出现错误!!!" ;

finally

return all;

;

4.修改课程信息

成绩处理

包括成绩汇总和排名次的功能

图4.10 成绩处理页面

修改密码

图4.11 管理员修改密码页面

public void Changecode String id,String code throws Exception

String sql "UPDATE user set code '"+code+"' WHERE id

'"+id+"';";

Statement stmt null;

DataBaseConnection dbc null;

dbc new DataBaseConnection ;

try

stmt nection .createStatement ;

eUpdate sql ;

;

catch Exception e

throw new Exception "修改中出现错误!!!" ;

finally

;

4.2 教师模块功能

输入用户名:234 密码:123 以教师身份登录

开设课程

1.课程查询(同管理员中课程查询功能相同)

2.提交课程

必须是管理员已经添加的课程才可以开设

图4.12 开设课程页面

public void doGet HttpServletRequest request, HttpServletResponse

response

throws ServletException, IOException

public void doAdd HttpServletRequest request,

doPost request,response ;

HttpServletResponse response

throws ServletException, IOException

racterEncoding "utf-8" ;

racterEncoding "utf-8" ;

PrintWriter out ter ;

String tid ameter "tid" ;

String cno ameter "cno" ;

String scteachno ameter "cteachno" ;

String clocation ameter "clocation" ;

String ctime1 ameter "ctime1" ;

String ctime2 ameter "ctime2" ;

String sc ameter "c" ;

int c nt sc ;

int cteachno nt scteachno ;

String ctime "星期"+ctime1+"第"+ctime2+"节";

TcDAO tcdao new TcDAO ;

try

Sytln "^^^^^^^^^^^^^^" ;

Course tid, cno,cteachno, clocation,

ctime,c ;

提交成功!

提交失败!

n " " ;

n " A Servlet " ;

n " BODY bgcolor #8dd8f8 " ;

" img src image/ font size 6 color red

n " " ;

n " " ;

catch Exception e

n " " ;

n " A Servlet " ;

n " BODY bgcolor #8dd8f8 " ;

" img src image/ font size 6 color red

n " " ;

n " " ;

;

;

" ;

" ;

3.已开设课程

图4.13 成功开设课程页面

4.删除课程

只能删除自己开设的课程

public void doDelete HttpServletRequest request,

HttpServletResponse response throws ServletException,

IOException

tentType "text/html" ;

racterEncoding "utf-8" ;

racterEncoding "utf-8" ;

PrintWriter out ter ;

String tid ameter "tid" ;

String rn ameter "n" ;

int n nt rn ;

int fn 0;

int dn 0;

ScDAO scdao new ScDAO ;

TcDAO tcdao new TcDAO ;

for int i 0;i n;i++

String cno ameter "cno"+i+"" ;

if cno! null

try

byID tid, cno ;

byTidCno tid, cno ;

catch Exception e

// TODO Auto-generated catch block

n " " ;

color red "+cno+"

n " A Servlet " ;

n " BODY bgcolor #8dd8f8 " ;

" img src image/ font size 6

课程删除失败! " ;

n " " ;

n " " ;

fn++;

dn++;

n " " ;

n " A Servlet " ;

n " BODY bgcolor #8dd8f8 " ;

" img src image/ font size 6 color red

if dn 0

未选择删除课程! " ;

n " " ;

n " " ;

else

if fn 0

n " " ;

n " A Servlet " ;

n " BODY bgcolor #8dd8f8 " ;

" img src image/ font size 6 color

red 课程删除成功! " ;

;

;

n " " ;

n " " ;

成绩提交

图4.14 已开设的课程

只有在学生选定课程并已经考试结束后,方可提交成绩

图4.15 成绩提交页面

public void doSubScore HttpServletRequest request,

HttpServletResponse response throws

ServletException,IOException

tentType "text/html" ;

racterEncoding "utf-8" ;

racterEncoding "utf-8" ;

PrintWriter out ter ;

String rsn ameter "sn" ;

int sn nt rsn ;

String tid ameter "tid" ;

String cno ameter "cno" ;

String submit ameter "submit" ;

TcDAO tcdao new TcDAO ;

int con 0;

for int j 0;j sn;j++

String sid ameter "sid"+j+"" ;

String rpscore ameter "pscore"+j+"" ;

String rlscore ameter "lscore"+j+"" ;

double pscore ouble rpscore ;

double lscore ouble rlscore ;

ScDAO scdao new ScDAO ;

try

Score sid, cno,tid, pscore, lscore ;

catch Exception e

n " " ;

n " A Servlet " ;

n " BODY bgcolor #8dd8f8 " ;

" img src image/ font size 6 color

red 第"+j+1+"名学生成绩提交失败! " ;

if con 0

try

if "暂时提交"

Sub tid, cno, "1" ;

n " " ;

n " " ;

con con++;

else

Sub tid, cno, "2" ;

catch Exception e

// TODO Auto-generated catch block

tackTrace ;

n " " ;

n " A Servlet " ;

n " BODY bgcolor #8dd8f8 " ;

" img src image/ font size 6 color red

提交成功! " ;

;

;

n " " ;

n " " ;

暂时提交以后,成绩将不会在已提交页面中显示,而且可以随时修改成绩,最终提交以后就不能再修改成绩,最终成绩将在已提交课程中显示。

另外,本系统为了方便教师保存查阅成绩信息,将提供导出excel表的功能,教师可以自由下载。

图4.16 最终成绩

信息查询

为了方便教师本人开设课程,本系统不但可以查询教师本人的详细信息以及开设课程所有信息,还包括选择自己开设课程的学生,以及其他教师的开设课程的详细信息,以免发生冲突。

图4.17 教师个人信息查询页面

public Vector SelectSelf String tid,String con throws Exception

Vector all new Vector ;

String sql "SELECT

tco,courseame,,no,ion,,tc.c, from tc,course where courseo tco and '"+tid+"' ";

if "1"

sql sql+" and ! '2';";

else if "2"

sql sql+" and '2';";

Statement stmt null;

DataBaseConnection dbc null;

dbc new DataBaseConnection ;

try

stmt nection .createStatement ;

ResultSet rs eQuery sql ;

while

Tc cou new Tc ;

ing "tco" ;

me ing "courseame" ;

dit ble "" ;

cation ing "ion" ;

achno "no" ;

me ing "" ;

"tc.c" ;

l "" ;

ment cou ;

;

;

catch Exception e

throw new Exception "查询中出现错误!!!" ;

finally

return all;

;

图4.18 其他教师开设课程查询页面

public Vector SelectScore String tid throws Exception

Vector all new Vector ;

String sql "SELECT tco,courseame,, from

tc,course where '"+tid+"' and courseo tco;";

Statement stmt null;

DataBaseConnection dbc null;

dbc new DataBaseConnection ;

try

stmt nection .createStatement ;

ResultSet rs eQuery sql ;

while

;

;

Tc cou new Tc ;

ing "tco" ;

me ing "courseame" ;

dit ble "" ;

l "" ;

ment cou ;

catch Exception e

throw new Exception "查询中出现错误!!!" ;

finally

return all;

;

public String SelectTid String cno,int cteachno throws Exception

String sql "SELECT tid from tc where cno '"+cno+"' and cteachno

"+cteachno+";";

Statement stmt null;

DataBaseConnection dbc null;

dbc new DataBaseConnection ;

String tid null;

try

stmt nection .createStatement ;

ResultSet rs eQuery sql ;

while

;

;

tid ing "tid" ;

catch Exception e

throw new Exception "查询中出现错误!!!" ;

finally

return tid;

;

密码修改

public void Changecode String tid,String tcode throws Exception

String sql "UPDATE teacher set tcode '"+tcode+"' WHERE tid

'"+tid+"';";

Statement stmt null;

DataBaseConnection dbc null;

dbc new DataBaseConnection ;

try

stmt nection .createStatement ;

eUpdate sql ;

;

catch Exception e

throw new Exception "修改中出现错误!!!" ;

finally

;

4.3 学生模块功能

用户名:004 密码:123 以学生身份登录

1.课程查询

学生可以根据不同的查询条件进行查询,从而决定自己选择的课程。

4.19 查询课程信息页面

public class ScDAO

public Vector ScSelect String cno,String cname,double credit,int

cteachno,String clocation,String ctime,String tname throws Exception

Vector all new Vector ;

String sql "SELECT tco, courseame, , no,

, tc.c, , FROM ion,

tc,course,teacher where tco courseo and ";

if cno! ""

if cname! ""

if credit! 0

if cteachno! 0

if clocation! ""

sql sql+" and no '"+cteachno+"' ";

sql sql+" and '"+credit+"'";

sql sql+" and courseame LIKE '%"+cname+"%' ";

sql sql+" and tco LIKE '%"+cno+"%'";

sql sql+" and ion LIKE '%"+clocation+"%' ";

if ctime! ""

sql sql+" and LIKE '%"+ctime+"%' ";

if tname! ""

sql sql+" and LIKE '%"+tname+"%' ";

sql sql+";";

Statement stmt null;

DataBaseConnection dbc null;

dbc new DataBaseConnection ;

try

stmt nection .createStatement ;

ResultSet rs eQuery sql ;

while

Tc cou new Tc ;

ing "tco" ;

me ing "courseame" ;

dit ble "" ;

achno "no" ;

cation ing "ion" ;

me ing "ion" ;

me ing "" ;

"tc.c" ;

l "" ;

me ing "" ;

ment cou ;

;

;

catch Exception e

throw new Exception "查询中出现错误!!!" ;

finally

;

return all;

2.提交课程

此处可以看到已经选择的课程的信息

图4.20 已选课程页面

然后可以根据自己的情况选择新的课程

图4.21 提交课程页面

图4.22 选课成功

public void doGet HttpServletRequest request, HttpServletResponse

response

throws ServletException, IOException

public void doAdd HttpServletRequest request,

doPost request,response ;

HttpServletResponse response

throws ServletException, IOException

tentType "text/html" ;

racterEncoding "utf-8" ;

racterEncoding "utf-8" ;

PrintWriter out ter ;

String sid ameter "sid" ;

String cno ameter "cno" ;

String rcteachno ameter "cteachno" ;

int cteachno nt rcteachno ;

double credit 0;

CourseDAO cdao new CourseDAO ;

TcDAO tcdao new TcDAO ;


本文标签: 学生 信息 系统 课程 数据库