学生成绩管理系统毕业设计_第1页
学生成绩管理系统毕业设计_第2页
学生成绩管理系统毕业设计_第3页
学生成绩管理系统毕业设计_第4页
学生成绩管理系统毕业设计_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

-.z毕业论文(设计)题目学生成绩管理系统学生**学号院系计算机与软件学院专业计算机科学与技术专业指导教师二O一O年五月二十日-.z声明本人*重声明:持以“**、创新〞的科学精神从事研究工作。本论文是我个人在导师指导下进展的研究工作和取得的研究成果。本论文中除引文外,所有实验、数据和有关材料均是真实的。本论文中除引文和致谢的内容外,没有抄袭其他人或其他机构已经发表或撰写过的研究成果。其他同志对本研究所做的奉献均已在论文中作了声明并表示了谢意。作者签名:日期:目录TOC\o"1-3"\u1、研究现状12、技术和工具12.1、C/S构造和B/S构造的比照分析12.2、JSP开发工具介绍22.3、J2EE架构介绍3、Struts框架3、Spring框架4、Hibernate框架42.4、MySQL开发工具介绍53、主要功能64、系统设计74.1、数据库设计74.2、创立映射文件和持久化类94.3、编写DAO层104.4、功能模块设计10、登陆注销模块10、top.java、home.java文件以及editSuccess.jsp、addSuccess.jsp文件11、班级管理模块12、学年管理模块13、课程管理模块14、学生管理模块16、教师管理模块16、课程分配模块16、成绩管理模块17、成绩查看模块174.4.11、个人信息管理模块184.5、配置文件19、配置struts.*ml文件19、配置applicationConte*t.*ml 195、系统介绍205.1登陆界面205.2管理员界面215.3、教师界面255.4、学生界面286、完毕语29-.z学生成绩管理系统王潇〔**信息工程大学计软院计科系,**210044〕摘要:本系统采用的是B/S构造,使用的工具是JSP和MySQL。该系统可以对学生的根本信息和成绩进展管理,包括学生根本信息的录入和修改,学生成绩的录入,成绩的管理以及成绩查询等功能,该系统有三种用户,按权限从高到低分别为:管理员、教师和学生。管理员管理教师和学生的根本信息,教师和学生都可直接从网上查询成绩信息和修改本人的密码。学生成绩管理系统可以提高学校成绩管理水平,实现数字化校园。关键字:成绩管理JSPMySQLB/SJ2EE1、研究现状学生成绩管理是教学过程中的一个重要环节,工作量繁重而且易出错。它包括学生成绩汇总,每个学生成绩单的填写和发放,教师对学生成绩的统计分析,学生名次的排列,以及不及格人数统计和,并且为不及格的学生安排补考和补考成绩的填写等很多复杂的方面。人工完成这些工作,不仅费时费力,而且一不小心就会出错。使用数据库技术进展数据处理,将很大程度上解决这个问题。编写一个适合学校使用的学生成绩管理系统,可以把工作人员从繁重的工作里解放出来,不但能节约人力,而且提高了工作效率,减少了出错的频率。这对于学校来说,是一个十分划算的方法。2、技术和工具2.1、C/S构造和B/S构造的比照分析本系统采用B/S构造,即浏览器\效劳器构造。B/S构造是在C/S构造〔客户机/效劳器构造〕的根底上建立的,这种构造使用户界面完全通过浏览器实现,并采用三层体系构造,解决了两层体系构造中的缺点。把应用逻辑独立出来形成一个中间层,中间层存在于客户层与存储层之间。比传统C/S构造更加优越。优点有以下几方面:〔1〕、系统一般只有初期一次性投入本钱,维护和升级简单,本钱低。B/S构造的客户端只是浏览器,维护和升级只需在效劳器进展,无论有多少用户使用,都不会影响效劳器升级。而C/S构造对客户端要求很高,每个客户端必须安装应用软件,升级对象包括客户机和效劳器,相当于重新设计系统,工程浩大。〔2〕、使用更加方便灵活,*围广。B/S构造建立在广域网上,对客户端没有要求,只要能够进入浏览器,用户可以在任一台电脑上登录系统,查询成绩信息。C/S构造作用与局域网,对客户端要求高,适用*围小,用户离开固定区域,便无法进入系统,如学生放假回家就不能查询成绩。〔3〕、数据响应及时,实时性高。B/S构造可以看到当前进展的业务,方便快速处理,而C/S构造只能给出事后数据。〔4〕、数据一致性高。B/S构造的一切数据都存放在总效劳器中,对数据的修改也是在效劳器中进展的,任何用户都可以得到一致的信息。而C/S构造同步性较差,一个地方出现缺陷,整个系统都必须重新部署,来保证数据一致,效率低。2.2、JSP开发工具介绍JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。JSP在多个方面加速了动态Web页面的开发,有以下几个方面的优点:〔1〕、将内容的生成和显示进展别离使用JSP技术,Web页面开发人员可以使用HTML或者*ML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容〔内容是根据请求来变化的,例如请求**信息或者特定的一瓶酒的价格〕。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在效劳器端运行。如果核心逻辑被封装在标识和Beans中,则Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。在效劳器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容〔例如,通过JavaBeans组件,使用JDBCTM技术数据库,或者包含文件〕,并且将结果以HTML〔或者*ML〕页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。〔2〕、强调可重用的组件绝大多数JSP页面依赖于可重用的,跨平台的组件〔JavaBeans或者Enterprise

JavaBeansTM组件〕来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。〔3〕、采用标识简化页面开发Web页面开发人员不会都是熟悉脚本语言的编程人员。JavaServer

Page技术封装了许多功能,这些功能是在易用的、与JSP相关的*ML标识中进展动态内容生成所需要的。标准的JSP标识能够和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。通过开发定制化标识库,JSP技术是可以扩展的。今后,第三方开发人员和其他人员可以为常用功能创立自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。〔4〕、强大的可伸缩性从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台效劳器进展集群和负载均衡,到多台Application进展事务处理,消息处理,一台效劳器到无数台效劳器,Java显示了一个巨大的生命力。〔5〕、平台适应性更广这是JSP比ASP的优越之处,几乎所有的平台都支持Java、JSP+JavaBeans,他们可以在任何平台下畅通无阻。从一个平台移植到另外一个平台,JSP和JavaBeans甚至不用重新编译,因为Java字节码都是标准的与平台无关的。另外,JSP技术很容易整合到多种应用体系构造中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。作为采用Java技术家族的一局部,以及Java

2〔企业版体系构造〕的一个组成局部,JSP技术能够支持高度复杂的基于Web的应用。由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译成为Java

Servlet,JSP页面就具有Java技术的所有好处,包括强健的存储管理和平安性。作为Java平台的一局部,JSP拥有Java编程语言“一次编写,各处运行〞的特点。随着越来越多的供给商将JSP支持添加到他们的产品中,您可以使用自己所选择的效劳器和工具,更改工具或效劳器并不影响当前的应用。当与Java

2平台,企业版(J2EE)和Enterprise

JavaBeans技术整合时,JSP页面将提供企业级的扩展性和性能,这对于在虚拟企业中部署基于Web的应用是必需的。2.3、J2EE架构介绍J2EE〔Java2Platform,EnterpriseEdition〕以Java2为技术根底,是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规*应用系统的开发与部署,进而提高可移植性、平安与再用价值。J2EE核心是一组技术规*与指南,其中所包含的各类组件、效劳架构及技术层次,均有共通的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,,企业内部或外部难以互通的窘境。J2EE平台使用了一个多层的分布式应用程序模型,该模型具有重用组件的能力、基于扩展标记语言的数据交换、统一的平安模式和灵活的事务控制。典型的J2EE三层构造,分为表现层、中间层〔业务逻辑层〕和数据效劳层。三层体系将业务规则、数据及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。J2EE的具体实现采用三大核心框架:Struts、Spring、Hibernate。下面简单介绍一下三种核心框架。、Struts框架Struts最早是作为ApacheJakarta工程的组成局部,工程的创立者希望通过对该工程的研究,改良和提高JavaServerPages、Servlet、标签库以及面向对象的技术水准。Struts这个名字来源于在建筑和旧式飞机中使用的支持金属架。这个框架之所以叫"Struts",是为了提醒我们记住那些支撑我们房屋,建筑,桥梁,甚至我们踩高跷时候的根底支撑。这也是一个解释Struts在开发Web应用程序中所扮演的角色的精彩描述。Struts是一种基于MVC经典设计模式的开放源代码的应用框架,也是目前Web开发中比拟成熟的一种框架。通过把Servlet、JSP、JavaBean、自定义标签和信息资源整合到一个统一的框架中,为Web开发提供具有高可配置性的MVC开发模式。和其他的java架构一样,Struts也是面向对象设计,将MVC模式"别离显示逻辑和业务逻辑"的能力发挥得淋漓尽致。Structs框架的核心是一个弹性的控制层,基于如JavaServlets,JavaBeans,ResourceBundles与*ML等标准技术,以及Jakartamons的一些类库。Struts有一组相互协作的类〔组件〕、Servlet以及jsptaglib组成。基于struts构架的web应用程序根本上符合JSP。MVC是"Model-View-Controller"的缩写,中文翻译为"模型-视图-控制器"。就像字面的意思,MVC模式的构造是由模型〔Model〕、视图〔View〕、控制器〔Controller〕三局部组成的。模型:应用程序的主体局部,用于表现业务数据,或者业务逻辑。视图:应用程序中用户界面相关的局部,是用户看到并与之交互的界面。控制器:用于根据用户的输入,控制用户界面数据显示,更新Model对象状态。Struts体系构造实现了MVC设计模式的概念,它将Model、View和Controller分别映射到Web应用的组件。、Spring框架Spring是一个开源框架,它由RodJohnson创立。它是为了解决企业应用开发的复杂性而创立的。框架的主要优势之一就是其分层架构,分层架构允许用户选择使用哪一个框架,这也是Spring与Spring和Hibernate等其它框架不同的地方。Spring致力于J2EE应用的各层的解决方案,而不是仅仅专注于*一层的方案。可以说Spring是企业应用开发的“一站式〞选择,并贯穿表现层、业务层及持久层。然而,Spring并不想取代那些已有的框架,而是与它们无缝地整合。Spring使用根本的JavaBean来完成以前只可能由E完成的事情。然而,Spring的用途不仅限于效劳器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。Spring框架是一个分层架构,由7个定义良好的模块组成。Spring模块构建在核心容器之上,核心容器定义了创立、配置和管理bean的方式。组成Spring框架的每个模块〔或组件〕都可以单独存在,或者与其他一个或多个模块联合实现。、Hibernate框架Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进展了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用E的J2EE架构中取代CMP,完成数据持久化的重任。Hibernate是一个高性能的ORM持久性和查询效劳。Hibernate不仅管理Java类到数据库表的映射〔包括从Java数据类型到SQL数据类型的映射〕,还提供数据查询和获取数据的方法,可以大幅度减少开发时人工使用SQL和JDBC处理数据的时间。它的设计目标是将软件开发人员从大量一样的数据持久层相关编程工作中解放出来。无论是从设计草案还是从一个遗留数据库开场,开发人员都可以采用Hibernate。Hibernate是一个JDO工具,它的工作原理是通过文件把值对象和数据库表之间建立起一个映射关系,这样,只需要操作这些值对象和Hibernate提供的一些根本类,就可以到达使用数据库的目的。例如,使用Hibernate的查询,可以直接返回包含*个值对象的列表〔List〕,而不必向传统的JDBC方式一样把结果集的数据逐个装载到一个值对象中,为编码工作节省了大量时间。Hibernate提供的HQL是一种类SQL语言,它和EQL一样都是提供对象化的数据库查询方式,但HQL在功能和使用方式上都非常接近标准的SQL。2.4、MySQL开发工具介绍SQL全称是“构造化查询语言(StructuredQueryLanguage)〞,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。SQL集数据查询、数据操纵、数据定义和数据控制功能为一体,功能强大且简洁易懂,其主要特点有以下几个方面。〔1〕、综合统一。SQL集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体,可以独立完成数据库的所有活动。对于非关系模型的数据语言来说,数据库运行后,假设要修改模式,必须对数据库进展重装,十分繁琐。使用SQL,用户可以在数据库运行后,随时修改数据库系统的模式,不影响该数据库的运行,而且数据构造单一,实体和实体间的联系都用关系表示,使该语言更加简单。这些特点使数据库系统拥有良好的可扩展性和统一性,降低了操作复杂性。〔2〕、高度非过程化。非关系数据库的语言是过程化的,必须指定存取路径。而SQL只需提出做什么,不用管怎么做,由系统自动完成存取路径的选择以及SQL的操作过程,使用户更方便,提高了数据的独立性。〔3〕、面向集合的操作方式。SQL直接对集合进展操作,所有操作如插入、删除、修改等都是针对元组的集合,而不是对一条条的纪录进展逐一操作。减少了工作量,降低了出错率。〔4〕、以同一种语法构造提供多种使用方式。SQL既是独立的语言,又是嵌入式语言。它可以独立使用,进展数据库操作,也可以嵌入到如C、Java等高级语言中使用。而且,不管哪一种方式,语法构造根本不变,使SQL的使用更加灵活方便。此外,SQL十分接近英语口语,语言简洁,甚至核心动词只有九个,即使是初学者也能快速上手。3、主要功能该系统有以下几个功能:1、密码效劳。每个人都有初始密码,登陆进系统后,用户可以自行修改。2、管理教师和学生的根本信息,包括学生的**、**、性别、班级、联系方式以及每学期所学科目和该科目的任课教师,教师的**、职员号、性别、联系方式以及所教授的科目等多个方面。只有管理员有权限使用此功能,对教师和学生的信息进展添加、删除和修改。3、管理学生成绩。考试完后,教师可以直接将学生各科目的成绩输入系统,保证了成绩的及时性。如果出现错误,学生可以向教师申请,经核实有误后由该授课教师对学生的错误成绩进展修改。4、成绩的查询功能。教师输入成绩后,所有用户都可在网上查询学生的成绩。不同用户有不同权限,学生只可查询本人成绩,教师可以查询所有学生成绩。5、提供操作界面。针对不同的用户权限,提供不同的操作界面,用户可以通过界面直接使用以上所述功能,操作简单易懂。学生成绩管理系统登陆界面学生成绩管理系统登陆界面管理员管理教师和学生的根本信息教师查询学生成绩输入学生成绩学生查询本人成绩修改本人的密码图3.1学生成绩管理系统整体构造图修改本人的密码修改本人的密码4、系统设计4.1、数据库设计根据系统的功能要求,主要构造以下几个表:〔1〕、学生表:学生编号、学生**、性别、、地址、登陆密码、班级号、**〔关键字为学生编号〕如下列图4.1学生表。图4.1学生表〔2〕、教师表:教师编号、教师**、工号、登陆密码、性别、地址、〔关键字为教师编号〕如下列图4.2教师表。图4.2教师表〔3〕、管理员表:管理员编号、用户名、登陆密码、〔关键字为管理员编号〕如下列图4.3管理员表。图4.3管理员表〔4〕、学年表:学年编号、学年名、是否为当前学年〔关键字为学年编号〕如下列图4.4学年表。图4.4学年表〔5〕、班级表:班级编号、班级名称〔关键字为班级编号〕如下列图4.5班级表。图4.5班级表〔6〕、课程表:课程编号、课程名称、开科学年〔关键字为课程编号〕如下列图4.6课程表。图4.6课程表〔7〕、课程分配表:课程分配编号、授课教师编号、开课班级编号、课程名称编号〔关键字为课程安排编号〕如下列图4.7课程安排表。图4.7课程安排表〔8〕、成绩表:成绩编号、成绩分值、学生编号、教师编号、课程编号、学年编号〔关键字为成绩编号〕如下列图4.8成绩表。图4.8成绩表4.2、创立映射文件和持久化类Hibernate映射文件包含了对象/关系映射〔O/RMapping〕所需的元数据。元数据包含持久化类的声明和属性到数据库的映射〔指向字段和其他实体的外键关联〕。持久化类是指其实例需要被Hibernate持久化到数据库中的类。持久化类通常都是域模型中的实体域类,一般都是一*数据库表对应一个持久化类。由上可示,本系统共有8个数据表,需要为每一个数据表编写映射文件和持久化类:学生表对应的映射文件和持久化类为和Student.java;教师表对应的映射文件和持久化类为和Teacher.java;管理员表对应的映射文件和持久化类为和Admin.java;学年表对应的映射文件和持久化类为和Schoolyear.java;班级表对应的映射文件和持久化类为和Classes.java;课程表对应的映射文件和持久化类为和Course.java;课程分配表对应的映射文件和持久化类为和Assign.java;成绩表对应的映射文件和持久化类为和Score.java。4.3、编写DAO层所谓的DAO〔DataAccessObject〕层,就是数据接口,DAO可以实现对数据库的各种操作。本系统为每一个数据表编写了一个DAO类。DAO所执行的操作包括,数据插入,数据修改,以及所有数据查询和按关键字查询。StudentDAO.java执行对学生表的各种操作,TeacherDAO.java执行对教师表的各种操作,AdminDAO.java执行对管理员表的各种操作,SchoolyearDAO.java执行对学年表的各种操作,ClassesDAO.java执行对班级表的各种操作,CourseDAO.java执行对课程表的各种操作,AssignDAO.java执行对课程分配表的各种操作,ScoreDAO.java执行对成绩表的各种操作。4.4、功能模块设计、登陆注销模块登陆注销模块包括login.jsp、LoginAction.java、LogoffAction.java,〔1〕、login.jsp提供本系统的登陆界面,获取用户输入的用户名和密码,获取代码如下:varusername=document.getElementById("username").value;varpassword=document.getElementById("password").value;login.jsp发送名字为login的action请求,根据struts.*ml文件调用LoginAction.java文件,点击登陆按钮后即执行此项操作。关键代码如下所示:formaction="login.action"method="post"onsubmit="returncheck();"LoginAction.java文件处理login.action的请求,根据用户在登陆界面选择的角色,该文件执行不同的操作。以管理员登陆为例,如果在登陆界面获得的role值为admin,则调用DAO层adminDAO,将获取的用户名和密码与数据库中的数据相比照,假设正确,则返回success值,假设值不正确,则返回值为input,代码如下所示:if(role.equalsIgnoreCase("admin")) { Adminadmin=newAdmin(); admin.setUsername(username); admin.setPassword(password); List<Admin>aList=adminDAO.findByE*ample(admin); 〕根据返回值,调用struts.*ml文件,即如下代码,返回值为success,转到home.jsp文件,返回值为input,则重新回到login.jsp文件。<packagename="login"namespace="e*tends="struts-default"> <actionname="login"class=".ssms.action.LoginAction"> <resultname="success">/WEB-INF/jsp/home.jsp</result> <resultname="input">/login.jsp</result></action>〔2〕、LogoffAction.java提供注销操作,用户进入系统后可在界面上选择注销按钮,即调用struts.*ml文件,启用LogoffAction.java文件,以完成用户注销,以学生为例,代码如下,执行注销操作,返回success值。if(role.equalsIgnoreCase("student")) { session.removeAttribute("student"); } session.removeAttribute("username"); session.removeAttribute("role");return"success";映射代码如下,指定LogoffAction.java的路径,得到success返回值,然会返回login.jsp,即回到登陆界面。<actionname="logoff"class=".ssms.action.LogoffAction"> <resultname="success">/login.jsp</result> </action>、top.java、home.java文件以及editSuccess.jsp、addSuccess.jsp文件头文件为top.java,提供需要重复显示的界面元素,如登陆系统后显示的欢送语句、注销按钮,以及根据不同的登陆用户提供的不同操作按钮等。其他文件可以直接在头文件中调用,降低了程序的复杂度,减少需要重复编写的代码。以登陆对象为admin为例,所要调用的代码如下所示,为用户提供各种功能的操作按钮,当用户选择时即发出相对应的action请求。<s:iftest="*session.role=='student'"><ahref="scanScore.action">查看成绩</a>     <ahref="managerPerson.action">个人信息管理</a></s:if>用户登陆后,即转到home.java文件,该文件为用户提供登陆后的初始操作界面,不显示任何数据信息,代码为直接调用top.java文件,如下所示:<jsp:includepage="top.jsp"></jsp:include>addSuccess.jsp为添加操作成功后所调用的文件,功能为回到主界面。关键代码为:window.parent.location.reload();editSuccess.jsp为编辑操作成功后所调用的文件,功能为回到主界面。关键代码为:window.parent.location.reload();、班级管理模块班级管理模块包括managerClass.jsp、addClass.jsp、editClass.jsp、ManagerClassAction.java。managerClass.jsp提供班级管理界面并显示班级信息,addClass.jsp提供添加弹出框,editClass.jsp提供编辑弹出框,ManagerClassAction.java提供各种操作。〔1〕、管理员登陆后,选择管理班级按钮,即发送managerClass.action请求,根据struts.*ml文件调用ManagerClassAction.java文件,执行以下代码。调用classesDAO,查询数据库中所有的班级,并返回success值,根据struts.*ml文件调用managerClass.jsp文件。classesList=classesDAO.findAll();return"success";managerClass.jsp提供管理班级的显示界面,将ManagerClassAction.java查询到的数据显示出来,<s:iteratorvalue="classesList"><tr><td><s:propertyvalue="classname"></s:property></td></s:iterator>并提供编辑、删除和添加按钮。〔2〕、当用户选择添加按钮时即发送addClass.action请求,根据struts.*ml文件调用ManagerClassAction.java文件中的addClass对象,并返回success值。根据返回值,在struts.*ml文件中调用addClass.jsp文件。系统转到addClass.jsp文件,即弹出班级添加框,用户可在添加框内添加班级。此文件提供添加按钮,用户点击按钮后执行以下代码所示操作,即发送addClassdo.action请求。<formaction="addClassdo.action"method="post">根据请求在struts.*ml文件中调用ManagerClassAction.java文件中的addClassdo对象,如以下代码所示。Classesclasses=newClasses(); classes.setClassname(classname); classesDAO.save(classes);return"success";该对象调用classesDAO中的类将用户添加的班级数据存入数据库,并在操作完毕后返回success值。根据返回值,在struts.*ml文件中转到addSuccess.jsp文件,执行回到主界面操作,即返回执行managerClass.jsp。〔3〕、当用户选择编辑按钮时即发送editClass.action请求,同时发送的还有所编辑班级的编号。在struts.*ml文件调用ManagerClassAction.java文件中的editClass对象。在该对象中调用classesDAO,根据获得的编号在数据库中查询班级信息,最后返回success值Classesclasses=classesDAO.findById(id); classname=classes.getClassname();return"success";根据返回值,在struts.*ml文件中调用editClass.jsp文件。系统转到editClass.jsp文件,即弹出班级编辑框,用户可在编辑框内编辑班级。此文件提供保存按钮,用户点击按钮后执行以下代码所示操作,即发送editClassdo.action请求。<formaction="editClassdo.action"method="post">根据请求在struts.*ml文件中调用ManagerClassAction.java文件中的editClassdo对象,如以下代码所示,该对象调用classesDAO将用户编辑的班级数据存入数据库,并在操作完毕后返回success值。根据返回值,在struts.*ml文件中转到editSuccess.jsp文件,执行回到主界面操作,即返回执行managerClass.jsp。Classesclasses=classesDAO.findById(id); classes.setClassname(classname); classesDAO.update(classes);return"success";〔4〕、当用户选择删除按钮时发送delClass.action请求当,根据struts.*ml文件调用ManagerClassAction.java文件中的delClass对象,然后调用classesDAO,直接执行数据删除操作,并返回success值。根据返回值,调用struts.*ml文件返回执行managerClass.jsp。Classesclasses=classesDAO.findById(id); classesDAO.delete(classes);return"success";、学年管理模块学年管理模块包括managerYear.jsp、addYear.jsp、editYear.jsp、ManagerYearAction.java。managerYear.jsp提供学年管理界面并显示学年信息,addYear.jsp提供添加弹出框,editYear.jsp提供编辑弹出框,ManageYearAction.java提供各种操作。学年管理模块的流程和代码与班级管理模块类似。〔1〕、管理员登陆后,假设选择管理学年按钮,即发送managerYear.action请求,根据struts.*ml文件调用ManagerYearAction.java文件,执行以下代码,查询数据库中所有的学年信息,并返回success值, syList=schoolyearDAO.findAll();return"success";根据返回值,从struts.*ml文件中调用managerYear.jsp。managerYear.jsp提供管理学年的显示界面,将ManagerClassAction.java查询到的数据显示出来,并提供编辑、删除和添加按钮。〔2〕、当用户选择添加按钮时即发送addYear.action请求,调用ManagerYearAction.java文件中的addYear对象,并返回success值。根据返回值,调用addYear.jsp文件。系统转到addYear.jsp文件,即弹出学年添加框,用户可在添加框内添加学年信息。此文件提供添加按钮。用户点击按钮后发送addYeardo.action请求,调用ManagerYearAction.java文件中的addYeardo对象。该类调用schoolyearDAO将用户添加的学年数据存入数据库,并在操作完毕后返回success值。根据返回值,转到addSuccess.jsp文件,执行回到主界面操作,即返回执行managerYear.jsp。〔3〕、当用户选择编辑按钮时即发送editYear.action请求,同时发送的还有所编辑学年的编号。调用ManagerYearAction.java文件中的editYear对象,根据获得的编号在数据库中查询学年信息,最后返回success值根据返回值,转到editYear.jsp文件,即弹出学年编辑框,用户可在编辑框内编辑学年。此文件提供保存按钮,用户点击按钮后发送editrYeardo.action请求。<formaction="editrYeardo.action"method="post">根据请求调用ManagerYearAction.java文件中的editYeardo对象,将用户编辑的学年数据存入数据库,并在操作完毕后返回success值。根据返回值,转到editSuccess.jsp文件,执行回到主界面操作,即返回执行managerYear.jsp。〔4〕、当用户选择删除按钮时发送delrYear.action请求,调用ManagerYearAction.java文件中的delYear对象,然后直接执行数据删除操作,并返回success值。根据返回值,返回执行managerYear.jsp。 Schoolyearschoolyear=schoolyearDAO.findById(id); schoolyearDAO.delete(schoolyear);return"success";、课程管理模块课程管理模块包括managerCourse.jsp、addCourse.jsp、editCourse.jsp、ManagerCourseAction.java。managerCourse.jsp提供课程管理界面并显示课程信息,addCourse.jsp提供添加弹出框,editCourse.jsp提供编辑弹出框,ManageCourseAction.java提供各种操作。ManageCourseAction.java包括六个对象,e*ecute对象:发出转到managerCourse.jsp文件要求;addCourse对象:发出转到addCourse.jsp文件要求;addCoursedo对象:执行添加课程操作;editCourse对象:发出转到editCourse.jsp文件要求、editCoursedo对象:执行编辑课程操作、delCourse对象:执行删除课程操作。〔1〕、管理员登陆后,选择管理课程按钮,发送managerCourse.action请求即调用ManagerYearAction.java文件中的e*ecute对象,调用managerCourse.jsp。managerCourse.jsp提供管理课程的显示界面,将e*ecute对象查询到的数据显示出来,<s:iteratorvalue="courseList"><tr><td><s:propertyvalue="coursename"></s:property></td></s:iterator>并提供编辑、删除和添加按钮,以及为每一个按钮设置action,用户点击即可发送该action请求。以添加按钮为例,代码为functionadd(){varurl="addCourse.action";}〔2〕、当用户选择添加按钮时即发送addCourse.action请求,调用ManagerCourseAction.java文件中的addCourse对象,以调用addCourse.jsp文件。系统转到addCourse.jsp文件,即弹出课程添加框,用户可在添加框内添加课程信息。此文件提供添加按钮。用户点击按钮后发送addCourse.action请求,调用ManagerCourseAction.java文件中的addCoursedo对象。<formaction="addCoursedo.action"method="post">addYeardo对象调用CourseDAO中的类将用户添加的课程数据存入数据库,并在操作完毕后返回success值。根据返回值,转到addSuccess.jsp文件,执行回到主界面操作,即返回执行managerCourse.jsp。〔3〕、当用户选择编辑按钮时即发送editCourse.action请求,同时发送的还有所编辑课程的编号。调用ManagerCourseAction.java文件中的editCourse对象,根据获得的编号在数据库中查询课程信息,最后返回success值。根据返回值,转到editCourse.jsp文件,即弹出学年编辑框,用户可在编辑框内编辑班级。此文件提供保存按钮,用户点击按钮后发送editrCoursedo.action请求。<formaction="editrCoursedo.action"method="post">根据请求调用ManagerCourseAction.java文件中的editCoursedo类,将用户编辑的学年数据存入数据库,并在操作完毕后返回success值,代码如下。根据返回值,转到editSuccess.jsp文件,执行回到主界面操作,即返回执行managerCourse.jsp。Coursecourse=courseDAO.findById(id); course.setCoursename(coursename); course.setYearid(schoolyear); courseDAO.update(course);return"success";〔4〕、当用户选择删除按钮时发送delrCourse.action请求,调用ManagerCourseAction.java文件中的delCourse对象,然后直接执行数据删除操作,并返回success值,代码如下所示。根据返回值,返回执行managerCourse.jsp。Coursecourse=courseDAO.findById(id); courseDAO.delete(course);return"success";、学生管理模块学生管理模块包括managerStudent.jsp、addStudent.jsp、editStudent.jsp、ManagerStudentAction.java。managerStudent.jsp提供学生管理界面并显示学生信息,addStudent.jsp提供添加弹出框,editStudent.jsp提供编辑弹出框,ManageStudentAction.java提供各种操作。ManageStudentAction.java包括六个对象,e*ecute对象:发出转到managerStudent.jsp文件要求;addStudent对象:发出转到addStudent.jsp文件要求;addStudentdo对象:执行添加学生操作;editStudent对象:发出转到editStudent.jsp文件要求、editStudentdo对象:执行编辑学生操作、delStudent对象:执行删除学生操作。学生管理模块中操作流程和关键代码与课程管理模块中的内容十分相似,不作详细介绍。、教师管理模块教师管理模块包括managerTeacher.jsp、addTeacher.jsp、editTeacher.jsp、ManagerTeacherAction.java。managerTeacher.jsp提供教师管理界面并显示教师信息,addTeacher.jsp提供添加弹出框,editTeacher.jsp提供编辑弹出框,ManageTeacherAction.java提供各种操作。ManageTeacherAction.java包括六个对象,e*ecute对象:发出转到managerTeacher.jsp文件要求;addTeacher对象:发出转到addTeacher.jsp文件要求;addTeacherdo对象:执行添加教师操作;editTeacher对象:发出转到editTeacher.jsp文件要求、editTeacherdo对象:执行编辑教师操作、delTeacher对象:执行删除教师操作。教师管理模块中操作流程和关键代码与班级管理模块中的内容十分相似,不作详细介绍。、课程分配模块课程分配模块包括assignCourse.jsp、addAssign.jsp、editAssign.jsp、AssignCourseAction.java。assignCourse.jsp提供课程分配界面并显示课程分配信息,addAssign.jsp提供添加弹出框,editAssign.jsp提供编辑弹出框,AssignCourseAction.java提供各种操作。AssignCourseAction.java包括六个对象,e*ecute对象:发出转到assignCourse.jsp文件要求;addAssign对象:发出转到addAssign.jsp文件要求;addAssigndo对象:执行添加课程分配操作;editAssign对象:发出转到editAssign.jsp文件要求、editAssigndo对象:执行编辑课程分配操作、delAssign对象:执行删除课程分配操作。课程分配模块中操作流程和关键代码与班级管理模块中的内容十分相似,不作详细介绍。、成绩管理模块成绩管理模块包括managerScore.jsp、addScore.jsp、editScore.jsp、ManagerScoreAction.java。managerScore.jsp提供成绩管理界面并显示成绩信息,addScore.jsp提供添加弹出框,editScore.jsp提供编辑弹出框,ManageScoreAction.java提供各种操作。ManageScoreAction.java包括六个对象,e*ecute对象:发出转到managerScore.jsp文件要求;addScore对象:发出转到addScore.jsp文件要求;addScoredo对象:执行添加成绩操作;editScore对象:发出转到editScore.jsp文件要求、editScoredo对象:执行编辑成绩操作、delScore对象:执行删除成绩操作。成绩管理模块中操作流程和关键代码与课程管理模块中的内容十分相似,不作详细介绍。、成绩查看模块成绩查看模块包括scanScore.jsp、ScanScoreAction.java。scanScore.jsp提供成绩查看界面并显示成绩信息,ScanScoreAction.java提供e*ecute对象来完成成绩查看操作。用户登陆后点击查看成绩按钮,即发送ScanScore..Action请求,根据struts.*ml文件调用ScanScoreAction.java文件的e*ecute对象,执行e*ecute对象所定义的操作。然后根据返回值转到scanScore.jsp文件,即显示成绩查看界面。根据e*ecute对象的定义,不同用户能够查看的数据不一样,学生只能观察本人成绩信息,教师可以查看全部信息。代码如下所示。if(role.equalsIgnoreCase("student")) { Studentstudent=(Student)session.getAttribute("student"); Scorescore=newScore(); score.setStudentid(student.getId()); score.setSchoolyearid(yearid); List<Score>sList=scoreDAO.findByE*ample(score);return"success"; }else { Scorescore=newScore(); score.setSchoolyearid(yearid); score.setStudentid(studentid); List<Score>sList=scoreDAO.findByE*ample(score); }return"success";、个人信息管理模块成绩查看模块包括managerPerson.jsp、ManagerPersonAction.java。managerPerson.jsp提供个人信息管理界面并显示个人信息,ManagerPersonAction.java提供两个对象,e*ecute对象完成个人信息的获得,editPerson对象完成个人密码的修改。用户登陆后点击查看个人信息管理按钮,即发送ManagerPerson.Action请求,根据struts.*ml文件调用ManagerPersonAction.java文件的e*ecute对象,执行e*ecute对象所定义的操作。然后根据返回值转到scanScore.jsp文件,即显示用户的个人信息,包括用户名和密码,用户名不可修改。以学生为例,e*ecute对象中的关键代码为:if(role.equalsIgnoreCase("student")) { Studentstudent=(Student)session.getAttribute("student"); username=student.getNumber(); password=student.getPassword(); id=student.getId(); }用户在密码栏修改,即可发送editPerson.Action,调用ManagerPersonAction.java文件的editPerson对象,将修改后的密码存入数据库。以学生为例,关键代码如下:if(role.equalsIgnoreCase("student")) { Studentstudent=studentDAO.findById(id); student.setPassword(password); studentDAO.update(student); }4.5、配置文件、配置struts.*ml文件本文件存储了一些描述用户请求路径和Action映射关系的配置信息,在该配置文件中,每一个Action的映射信息都通过一个action元素来配置。、配置applicationConte*t.*ml在applicationConte*t.*ml中进展根底的Bean组件配置首先进展数据源的配置,以配置与数据的连接,代码如下段程序所示。添加一个名称为dataSource的<Bean>,并定义四个参数,driverClassName:数据库连接驱动;url:数据库连接的URL地址;username:指定数据库的用户名;password:指定数据库的密码。<beanid="dataSource" class="org.apache.mons.dbcp.BasicDataSource"> <propertyname="driverClassName" value=".mysql.jdbc.Driver"> </property> <propertyname="url"value="jdbc:mysql://localhost:3306/ssms"></property> <propertyname="username"value="root"></property> <propertyname="password"value="123"></property> </bean>配置sessionFactory对象,为DAO层提供Hibernate的数据库连接对象 <list> <value>/ssms/model/Classes.hbm.*ml</value> <value>/ssms/model/Schoolyear.hbm.*ml</value> <value>/ssms/model/Course.hbm.*ml</value> <value>/ssms/model/Student.hbm.*ml</value> <value>/ssms/model/Teacher.hbm.*ml</value> <value>/ssms/model/Assign.hbm.*ml</value> <value>/ssms/model/Score.hbm.*ml</value> <value>/ssms/model/Admin.hbm.*ml</value></list>配置dwrUtil对象,调用DAO,以classesDAO为例,代码如下所示 <propertyname="classesDAO"> <reflocal="classesDAO"/> </property>配置DAO组件,以classesDAO为例,代码如下所示<beanid="classesDAO"class=".ssms.dao.ClassesDAO"> <propertyname="sessionFactory"> <refbean="sessionFactory"/> </property> </bean>5、系统介绍5.1登陆界面点击进入本系统,首先出现的登陆界面〔如下列图登陆界面一〕。第一行是大标题“学生成绩管理系统〞,用户可在标题下方第一排的下拉框中选择自己的角色,有三种选择:管理员、教师、学生。用户可根据自己的身份选择适合的角色。图登陆界面一用户应输入自己的用户名和密码,否则会出现以下提示〔如图错误登陆界面一、5.1.3错误登陆界面二〕。图错误登陆界面一图5.1.3错误登陆界面二假设输入错误的用户名或密码则会出现以下提示〔如图错误登陆界面三〕,每位用户的初始密码使自己的用户名,进入系统后可在个人信息管理界面中自行修改。图错误登陆界面三5.2管理员界面当管理员成功进入本系统后,可看到以下界面〔如下列图管理员界面〕图管理员界面第一行是欢送信息:“您好!‘用户名’欢送登陆学生成绩管理系统〞。第二行为“注销〞按钮,用户可点击此按钮进展注销登陆,返回最开场的登陆界面。第三行即为管理员可以使用的功能,包括:管理班级、管理学年、管理课程、管理学生、管理教师、分配课程和个人信息管理。下面分别介绍各个功能。〔1〕、管理班级管理员可在此功能模块进展对班级的管理。点击进入后第一竖排为班级列表,第二竖排为编辑、删除操作按钮,可对班级列表进展修改,最下面的添加按钮可在列表中添加新的班级〔如图管理员—管理班级界面〕。点击编辑按钮后,可对班级名称进展编辑修改,点击删除按钮可直接删除本行班级,点击添加按钮则是在班级列表的最下方添加一列新的班级名称。图5.2.2〔2〕、管理学年管理员可在此功能模块进展对班级的管理。点击进入后第一竖排为学年列表,第二竖排说明是否为当前学年,第三竖排为编辑、删除操作按钮,可对学年列表进展修改,最下面的添加按钮可在列表中添加新的学年〔如图管理员—管理学年界面〕。点击编辑按钮后,可对学年信息进展编辑修改,点击删除按钮可直接删除本行数据,点击添加按钮则是在班级列表的最下方添加一列新的学年信息。当前学年列有“true〞和“false〞两种属性,且只能有一学年的当前学年属性为“true〞,其余都必须为“false〞,即只能有一学年为当前学年。图管理员—管理学年界面〔3〕、管理课程管理员可在此功能模块进展对课程的管理。点击进入后首先在学年下拉框中选择学年,分别为每一学年管理课程。下拉框中的选项即为前面在管理学年模块中所编辑设置的学年列表。第一竖排为课程列表,第二竖排为编辑、删除操作按钮,可对课程列表进展修改,最下面的添加按钮可在列表中添加新的课程名称〔如图管理员—管理课程界面〕。点击编辑按钮后,可对课程名称进展编辑修改,点击删除按钮可直接删除本行数据,点击添加按钮则是在班级列表的最下方添加一列新的课程。图管理员—管理课程界面〔4〕、管理学生管理员可在此功能模块进展对学生信息的管理。点击进入后首先在班级下拉框中选择班级,分别管理每一班级中的学生。下拉框中的选项即为前面在管理班级模块中所编辑设置的班级列表。第一竖排为学生的**,第二竖排为学生**,第三竖排为学生性别,第四第五竖排为学生的联系方式,即和地址,第六竖排为编辑、删除操作按钮,可对学生信息进展修改,最下面的添加按钮可在列表中添加新的学生信息〔如图管理员—管理学生界面〕。点击编辑按钮后,可对学生信息进展编辑修改,点击删除按钮可直接删除本行数据,点击添加按钮则是在班级列表的最下方添加一列新的学生信息。修改学生信息时要注意,每位学生的**是唯一的,不能有一样的**。图管理员—管理学生界面〔5〕、管理教师管理员可在此功能模块进展对教师信息的管理。点击进入后即显示所有教师的根本信息。第一竖排为教师的工号,第二竖排为教师**,第三竖排为教师性别,第四第五竖排为教师的联系方式,即和地址,第六竖排为编辑、删除操作按钮,可对教师信息进展修改,最下面的添加按钮可在列表中添加新的教师信息〔如图管理者—管理教师界面〕。点击编辑按钮后,可对教师信息进展编辑修改,点击删除按钮可直接删除本行数据,点击添加按钮则是在班级列表的最下方添加一列新的教师信息。修改教师信息时要注意,每位教师的工号是唯一的,不能有一样的工号。图管理员—管理教师界面〔6〕、分配课程管理员可在此功能模块进展课程的分配。点击进入后即显示所有课程信息。第一竖排为本课程授课教师的**,第二竖排为开课的班级名称,第三竖排为课程名,第四竖排为编辑、删除操作按钮,可对课程信息进展修改,最下面的添加按钮可在列表中添加新的课程信息〔如图管理员—分配课程界面〕。点击编辑按钮后,可对课程信息进展编辑修改,点击删除按钮可直接删除本行数据,点击添加按钮则是在课程列表的最下方添加一列新的信息。编辑课程信息时,将出现如下列图所示的弹出框,第一行下拉框选择授课教师,第二行选择开课的班级,第三行选择所授课程,所有选项都为前面模块中所编辑设置的信息。最后点击下方的“添加〞或“保存〞按钮即可完成信息编辑。图管理员—分配课程界面〔7〕、个人信息管理管理员可在此功能模块进展对本人信息的管理。点击进入后即显示自己的用户名和密码〔如图管理员—个人信息管理界面〕,用户名固定不变,管理员可自行修改自己的密码。图管理员—个人信息管理界面5.3、教师界面当教师成功进入本系统后,可看到以下界面〔如下列图教师界面〕图教师界面第一行是欢送信息:“您好!‘用户名’欢送登陆学生成绩管理系统〞。第二行为“注销〞按钮,用户可点击此按钮进展注销登陆,返回最开场的登陆界面。第三行即为教师可以使用的功能,包括:查看成绩、管理成绩、个人信息管理。下面分别介绍各个功能。〔1〕、查看成绩教师可在此功能模块观察学生成绩。点击进入后即显示学生的成绩信息,教师的权限可以查看所有学生的每科科目成绩。第一行可选择所要查看的学年以及学生的**。下拉框中的选项即为管理员所编辑设置的学年信息和学生信息,下方显示的信息即系统根据用户的选择查询数据库后的结果。第一竖排为学年信息,第二竖排为授课教师**,第三竖排为学生**,第四竖排为学科信息,第五竖排为该学生每科的成绩〔如图教师—查看成绩界面〕。此功能模块只可显示所要查询的信息,不可以进展修改删除等编辑操作。图教师—查看成绩界面〔2〕、管理成绩教师可在此功能模块管理学生成绩。点击进入后即可对学生的成绩信息进展管理,教师的权限只可以管理本人所授科目的学生成绩信息。第一竖排为学年信息,第二竖排为授课教师**,第三竖排为学生**,第四竖排为学科信息,第五竖排为该学生每科的成绩,第六竖排为编辑、删除操作按钮,可对学生成绩信息进展修改,最下面的添加按钮可在列表中添加新的学生成绩〔如图管理员—分配课程界面〕。〔如图23.教师—管理成绩界面〕。点击编辑按钮后,可对学生成绩信息进展编辑修改,点击删除按钮可直接删除本行数据,点击添加按钮则是在成绩列表的最下方添加一列新的信息。编辑学生成绩信息时,将出现如下列图所示的弹出框,第一行下拉框选择课程名称,第二行选择学生的**,第三行文本框输入该学生此科目的成绩,所有选项都为管理员所编辑设置的信息。最后点击下方的“添加〞或“保存〞按钮即可完成信息编辑。图教师—管理成绩界面〔3〕、个人信息管理教师可在此功能模块进展对本人信息的管理。点击进入后即显示自己的用户名和密码〔如图教师—个人信息管理界面〕,用户名固定不变,为本人的工号,教师可自行修改自己的密码。图教师—个人信息管理界面5.4、学生界面当学生成功进入本系统后,可看到以下界面〔如下列图学生界面〕图学生界面第一行是欢送信息:“您好!‘用户名’欢送登陆学生成绩管理系统〞。第二行为“注销〞按钮,用户可点击此按钮进展注销登陆,返回最开场的登陆界面。第三行即为学生可以使用的功能,包括:查看成绩、个人信息管理。下面分别介绍各个功能。〔1〕、查看成绩学生可在此功能模块观察学生成绩。点击进入后即显示学生的成绩信息,学生的权限只可查看本人的所有科目成绩。第一行可选择所要查看的学年。下拉框中的选项即为管理员所编辑设置的学年信息,下方显示的信息即系统根据用户的选择查询数据库后的结果。第一竖排为学年信息,第二竖排为授课教师**,第三竖排为学生**,第四竖排为学科信息,第五竖排为该学生每科的成绩〔如图学生—查看成绩界面〕。此功能模块只可显示所要查询的信息,不可以进展修改删除等编辑操作。图学生—查看成绩界面〔2〕、个人信息管理学生可在此功能模块进展对本人信息的管理。点击进入后即显示自己的用户名和密码〔如图学生—个人信息管理界面〕,用户名固定不变,为本人的**,学生可自行修改自己的密码。图学生—个人信息管理界面6、完毕语学生成绩管理在教学过程中起着重要的作用,使用学生成绩管理系统将教学工作与信息化技术结合起来,大大提高了工作效率,降低了管理本钱。学生成绩管理系统对学生,教师和管理人员来说都是一个方便的工具,速度快,出错少,使用价值很高。参考文献:[1]王珊萨师煊?数据库系统概论?高等教育2008[2]飞思科技产品研发中心?JSP应用开发详解?电子工业2002[3]杨红军李亚平基于ASP.NET的学生成绩管理系统设计与实现**职业技术学院2008[4]*建华学生成绩管理系统分析与研究**理工大学计算机科学与技术学院2008[5]*韬楼兴华?SQLServer2000数据库系统开发实例导航?人民邮电2004[6]王松学生成绩管理系统的设计与实现**播送电视大学长兴学院2008[7]*中兵?开发者突击:JavaWeb主流框架整合开发[J2EE+Struts+Hibernate+Spring]?电子工业2008[8]MikeDocherty著俞志翔译?面向对象分析与设计?清华大学2006.[9]PaulrajPonniah著韩宏志译?数据库设计与开发?清华大学2005[10]DavidCrowder.RhondaCrowderMasteringDrea2mweaver4andFireworks4[M]电子工业2001[11]Freenun,D,L&Long,M.H,AnIntroductionToSecondLanguageAcquisitionResearch[M].外语教学与研究2000.致谢本设计在谢永华教师的悉心指导和严格要求下业已完成,从课题选择、方案论证到具体设计和调试,无不凝聚着谢永华教师的心血和汗水,谢永华教师认真负责的工作态度,严谨的治学精神和深厚的理论水平都让我受益匪浅。他无论在理论上还是在实践中,都给予我很大的帮助,使我得到不少的提高,这对于我以后的学习有一种巨大的帮助,感谢他耐心的辅导。在四年的本科学习和生活期间,各位任课教师的认真负责,使我能够很好的掌握和运用专业知识,并在设计中得以表达。正是有了他们的悉心帮助和支持,才使我的毕业论文工作顺利完成,在此向**信息工程大学计算机与软件学院的全体教师表示由衷的谢意,感谢他们四年来的辛勤栽培。Student’sScoreManagementSystemWang*iaoInstituteofputerandsoftware,NanjingUniversityofInformationScience&Technology,Nanjing210044AbstractThissystemusestheB/Sstructure,andthetoolsareJSPandMySQL.Thesystemmanagestudent’sbasicinformationandscore,includingtheentryandrevisionofstudent’sbasicinformation,inputingstudent’sscore,score’smanagement,searchingtheresultsandsoon,thesystemhasthreekindsofusers,accordingtopurview

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论