jsp作业在线批改与答疑系统sqlserver论文_第1页
jsp作业在线批改与答疑系统sqlserver论文_第2页
jsp作业在线批改与答疑系统sqlserver论文_第3页
jsp作业在线批改与答疑系统sqlserver论文_第4页
jsp作业在线批改与答疑系统sqlserver论文_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

作业在线提交与批改系统第24页(共30页)基于B/S结构的网上考试系统设计与实现引言在国内,从学生作业管理系统的管理情况来看,在现代化教育技术模式下,使用计算机提交作业已相当普及。但能够合理使用硬件资源,有条理地管理好学生作业信息的却少之又少。通过网络的了解,已经有不少高等学校已经推出了自己的作业上传系统。但是由于实现技术有限,系统的功能不完善,而且存在很多缺陷。例如:查询不全面、容易导致系统不稳定,数据库缺乏管理,数据缺乏更新,而且容易丢失。由于这些缺点造成用户对系统不信任,于是又回到传统的“拷贝、粘贴”方式。系统就荒废了。本文阐述了如何运用JAVAEE技术构建一个网上作业提交和批改系统的过程,描述了B/S模式的概念及特点,JAVAEE的优越性及对通用作业批改系统的分析,该系统主要完成了作业的上传,教师对作业的批改,系统得稳定性高,操作简单。

基于web在线作业提交批改系统1选题背景近些年来互联网迅速发展,使得不同地点的人们在任何时间都可以轻松获取自己需要的信息,同时互联网的出现极大地推动了教育事业的发展,特别是ASP.NET技术,以其交互性、动态性的特点,大大扩展了互联网的应用范围,互联网的广泛应用也深刻的影响了教育教学领域。但是现在的作业提交和批改还都处于过去的老样子,教师布置下作业,学生做在作业本上,然后再交给教师,教师改过以后发还给学生,步骤繁琐,效率低。我们要运用JAVAEE技术构建一个网上作业提交批改系统,以其改变过去传统的学生递交作业的方式,教师批改作业的方式,让学生递交作业更加灵活。这个系统在学校中可以被广泛应用的基于WEB的学生电子作业提交系统,虽然它的系统规模不是很庞大,但功能完善后可以大大减轻教师的工作量和学生的学习任务,极大的提高了教师的工作效率和学生的学习效率。网络化教育代表了教育改革的一个发展方向,已经成为现代教育的一个特征,并对教育的发展形成新的推动力。通过Internet/Intranet来实现网上作业提交,是现代教育技术的一个具体实现,具有很重要的现实意义。可以实现学生在线提交作业的无纸化管理,可以有效利用校园网的软硬件资源,使其发挥最大效力,更好的为学校的教学、科研、管理服务。

2课题的相关理论和技术2.1J2EE技术概述J2EE是Java2平台企业版(Java2Platform,EnterpriseEdition)J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共同的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,企业内部或外部难以互通的窘境。J2EE组件和“标准的”Java类的不同点在于:它被装配在一个J2EE应用中,具有固定的格式并遵守J2EE规范,由J2EE服务器对其进行管理。J2EE规范是这样定义J2EE组件的:客户端应用程序和applet是运行在客户端的组件;JavaServlet和JavaServerPages(JSP)是运行在服务器端的Web组件;EnterpriseJavaBean(EJB)组件是运行在服务器端的业务组件。发展背景1、企业级应用框架的需求在许多企业级应用中,例如数据库连接、邮件服务、事务处理等都是一些通用企业需求模块,这些模块如果每次在开发中都由开发人员来完成的话,将会造成开发周期长和代码可靠性差等问题。于是许多大公司开发了自己的通用模块服务。这些服务性的软件系列统称为中间件。2、为了通用必须要提出规范,不然无法达到通用在上面的需求基础之上,许多公司都开发了自己的中间件,但其与用户的沟通都各有不同,从而导致用户无法将各个公司不同的中间件组装在一块为自己服务。从而产生瓶颈。于是提出标准的概念。其实J2EE就是基于JAVA技术的一系列标准。注:中间件的解释中间件处在操作系统和更高一级应用程序之间。它充当的功能是:将应用程序运行环境与操作系统隔离,从而实现应用程序开发者不必为更多系统问题忧虑,而直接关注该应用程序在解决问题上的能力。容器的概念就是中间件的一种。Sun公司在1998年发表JDK1.2版本的时候,使用了新名称Java2Platform,即“Java2平台”,修改后的JDK称为Java2PlatformSoftwareDevelpingKit,即J2SDK。并分为标准版(StandardEdition,J2SE),企业版(EnterpriseEdition,J2EE),微型版(MicroEdition,J2ME)。J2EE便由此诞生。2005年6月,JavaOne大会召开,SUN公司公开JavaSE6。此时,Java的各种版本已经更名以取消其中的数字“2”:J2EE更名为JavaEE,J2SE更名为JavaSE,J2ME更名为JavaME。Java2平台包括标准版(J2SE)、企业版(J2EE)和微缩版(J2ME)三个版本。J2EE为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制:1.保留现存的IT资产:由于企业必须适应新的商业需求,利用已有的企业信息系统方面的投资,而不是重新制定全盘方案就变得很重要。这样,一个以渐进的(而不是激进的,全盘否定的)方式建立在已有系统之上的服务器端平台机制是公司所需求的。J2EE架构可以充分利用用户原有的投资,如一些公司使用的BEATuxedo、IBMCICS,IBMEncina,、InpriseVisiBroker以及NetscapeApplicationServer。这之所以成为可能是因为J2EE拥有广泛的业界支持和一些重要的'企业计算'领域供应商的参与。每一个供应商都对现有的客户提供了不用废弃已有投资,进入可移植的J2EE领域的升级途径。由于基于J2EE平台的产品几乎能够在任何操作系统和硬件配置上运行,现有的操作系统和硬件也能被保留使用。2.高效的开发:J2EE允许公司把一些通用的、很繁琐的服务端任务交给中间供应商去完成。这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时间。高级中间件供应商提供以下这些复杂的中间件服务:o状态管理服务--让开发人员写更少的代码,不用关心如何管理状态,这样能够更快地完成程序开发。o持续性服务--让开发人员不用对数据访问逻辑进行编码就能编写应用程序,能生成更轻巧,与数据库无关的应用程序,这种应用程序更易于开发与维护。o分布式共享数据对象CACHE服务--让开发人员编制高性能的系统,极大提高整体部署的伸缩性。3.支持异构环境:J2EE能够开发部署在异构环境中的可移植程序。基于J2EE的应用程序不依赖任何特定操作系统、中间件、硬件。因此设计合理的基于J2EE的程序只需开发一次就可部署到各种平台。这在典型的异构企业计算环境中是十分关键的。J2EE标准也允许客户订购与J2EE兼容的第三方的现成的组件,把他们部署到异构环境中,节省了由自己制订整个方案所需的费用。4.可伸缩性:企业必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足那些在他们系统上进行商业运作的大批新客户。基于J2EE平台的应用程序可被部署到各种操作系统上。例如可被部署到高端UNIX与大型机系统,这种系统单机可支持64至256个处理器。(这是NT服务器所望尘莫及的)J2EE领域的供应商提供了更为广泛的负载平衡策略。能消除系统中的瓶颈,允许多台服务器集成部署。这种部署可达数千个处理器,实现可高度伸缩的系统,满足未来商业应用的需要。5.稳定的可用性:一个服务器端平台必须能全天候运转以满足公司客户、合作伙伴的需要。因为INTERNET是全球化的、无处不在的,即使在夜间按计划停机也可能造成严重损失。若是意外停机,那会有灾难性后果。J2EE部署到可靠的操作环境中,他们支持长期的可用性。一些J2EE部署在WINDOWS环境中,客户也可选择鲁棒性更好的操作系统如SunSolaris、IBMOS/390。鲁棒性最好的操作系统可达到99.999%的可用性或每年只需5分钟停机时间。这是实时性很强商业系统理想的选择。2.2B/S体系结构B/S模式,即Browser/Server(浏览器/服务器)模式,是随着Internet技术的兴起,对C/S模式的一种变化或者改进的结构。B/S模式主要利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、javascript、…)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大的功能。与C/S模式相比,它大大简化了客户端,客户端只要装上操作系统、网络协议软件以及浏览器即可。这时的客户机成为瘦客户机,而服务器端则集中了几乎所有的应用逻辑,开发、维护等工作也都集中在服务器端。同时,对应用软件进行升级时,只需要更新服务器端的软件就行了,所有的客户端只有浏览器,根本不需要做任何维护升级的工作量。所有的操作系统只需要针对服务器进行,从而减轻了系统维护与升级的成本与工作量,使用户的总体拥有成不(TCO)大大降低。a)传统的三层应用体系传统的三层体系结构,克服了二层体系结构的一些限制,这个三层体系结构将用户界面层与业务层分开,用户界面放在客户端,而将业务逻辑层和数据存储放在中间的应用服务器上。三层体系结构有了一些改进。中间层服务器通过重用那些跨越多个客户的昂贵资源来改进可伸缩性,可伸缩性的改进带来了性能的改进,这个体系结构也改进了安全和应用管理。虽然三层体系结构消除了二层体系结构的一些缺陷,但是它也有不足之处:复杂性、应用缺乏可移植性、提供商的不兼容性及与WEB的不兼容性。b)WEB的三层体系结构随着因特网的高速发展,www的广泛应用,传统的三层应用体系结构的局限越来越明显,这时基于Web的三层体系结构[[32](如图3.3所示)得到了广泛的应用。要组成三层应用体系结构少不了要求采用中间件。中间件可以说是开发服务程序和管理这些服务程序运行的工具,是三层体系结构中一个非常重要的部分,它直接关系到整个应用系统的好坏,甚至成功与失败。基于WEB的三层应用体系结构显示以下优点:①优化了系统结构:将系统分为三层(或多层),业务逻辑放在应用服务层,软件的维护集中在应用服务层,客户端的维护就相对简单多了,有利于软件维护及系统管理。②提高了应用系统的安全性:将客户端与数据库隔离起来,客户端无权限直接访问数据库,有利于安全管理,可有效防止恶意攻击。还可以利用中间件的安全管理特性进一步加强权限控制管理。③便于业务(事务)级权限管理:三层结构应用中可划分出业务(事务)级权限,一种业务一个服务程序(Service),利用中间件的安全管理对其进行访问控制。数据库的权限只分为对表(或表中的列)的插入(Insert),删除(Delete)、修改(Update)、查询(select)权限,它属于数据库表级的权限,而实际应用中往往以业务(事务)为主线,也就要求对业务(事务)实现权限控制,三层结构应用可以方便地对客户端实现事务权限管理控制。业务(事务)级权限控制的引入丰富和方便了权限控制与管理,实际上两层应用体系结构中可通过存储过程类似地实现业务(事务)级权限控制,但采用三层应用体系结构实现业务(事务)级权限控制更加灵活、方便、实效。④减少网络数据流量和提高数据库响应速度:基于Web三层应用体系结构中,应用服务层的引入有效地解决了网络瓶颈和数据库连接数过多引起数据库性能下降的问题。应用服务层往往有多台服务器,可有效地解决客户机访问服务层瓶颈。应用服务器与数据库服务器(物理距离很近)可方便地采用宽带网连接,不会产生与数据库服务层网络瓶颈。⑤提高系统性能:基于web三层应用体系结构能更好地调整应用体系,还可利用中间件的特点来选择路由、平衡负载,提高整个系统的性能。总的来说,三层应用体系结构使应用系统的性能、安全性、扩展性有了很大的提高,也方便了系统的维护和管理。图1B/S结构示意图2.3C/S体系结构C/S结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。(Client/Server或客户/服务器模式):Client和Server常常分别处在相距很远的两台计算机上,Client程序的任务是将用户的要求提交给Server程序,再将Server程序返回的结果以特定的形式显示给用户;Server程序的任务是接收客户程序提出的服务请求,进行相应的处理,再将结果返回给客户程序。传统的C/S体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client端还是Server端都还需要特定的软件支持。由于没能提供用户真正期望的开放环境,C/S结构的软件需要针对不同的操作系统开发不同版本的软件,加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用。而且代价高,效率低。C/S结构的基本原则是将计算机应用任务分解成多个子任务,由多台计算机分工完成,即采用“功能分布”原则。客户端完成数据处理,数据表示以及用户接口功能;服务器端完成DBMS的核心功能。这种客户请求服务、服务器提供服务的处理方式是一种新型的计算机应用模式。随着互联网的飞速发展,移动办公和分布式办公越来越普及,这需要我们的系统具有扩展性。这种方式远程访问需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据。客户端需要安装专用的客户端软件。首先涉及到安装的工作量,其次任何一台电脑出问题,如病毒、硬件损坏,都需要进行安装或维护。特别是有很多分部或专卖店的情况,不是工作量的问题,而是路程的问题。还有,系统软件升级时,每一台客户机需要重新安装,其维护和升级成本非常高。对客户端的操作系统一般也会有限制。可能适应于Win98,但不能用于win2000或WindowsXP。或者不适用于微软新的操作系统等等,更不用说Linux、Unix等。C/S架构的劣势还有高昂的维护成本且投资大。首先,采用C/S架构,要选择适当的数据库平台来实现数据库数据的真正“统一”,使分布于两地的数据同步完全交由数据库系统去管理,但逻辑上两地的操作者要直接访问同一个数据库才能有效实现,有这样一些问题,如果需要建立“实时”的数据同步,就必须在两地间建立实时的通讯连接,保持两地的数据库服务器在线运行,网络管理工作人员既要对服务器维护管理,又要对客户端维护和管理,这需要高昂的投资和复杂的技术支持,维护成本很高,维护任务量大。其次,传统的C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,由于产品的更新换代十分快,代价高和低效率已经不适应工作需要。在JAVA这样的跨平台语言出现之后,B/S架构更是猛烈冲击C/S,并对其形成威胁和挑战。服务端的特征:1.被动的角色(从)。2.等待来自用户端的要求。3.处理要求并传回结果。用户端的特征:1.主动的角色(主)。2.发送要求。3.等待直到收到回应。编辑本段两者区别C/S与B/S的区别首先必须强调的是C/S和B/S并没有本质的区别:B/S是基于特定通信协议(HTTP)的C/S架构,也就是说B/S包含在C/S中,是特殊的C/S架构。之所以在C/S架构上提出B/S架构,是为了满足瘦客户端、一体化客户端的需要,最终目的节约客户端更新、维护等的成本,及广域资源的共享。(1)B/S属于C/S,浏览器只是特殊的客户端;(2)C/S可以使用任何通信协议,而B/S这个特殊的C/S架构规定必须实现HTTP协议;(3)浏览器是一个通用客户端,本质上开发浏览器,还是实现一个C/S系统。2.4关系数据库管理系统关系数据库所使用关系语言班的特点是高度非过程化,即用户只需说明"做什么"而不必说明"怎么做"。用户不必请求数据库管理员为其建立特殊的存取路径,存取路径的选择是由DBMS(数据库管理系统)自动完成的。这也是关系数据库的主要优点之一。早期关系操作有两种表示方式:关系代数与关系演算。理论上,关系代数和关系演算被证明是完全等价的。关系代数通过对关系的运算来表达查询,其操作对象是关系,操作结果亦为关系。全关系系统十二准则:一个关系形的关系数据库系统必须能完全通过它的关系能力来管理数据库;关系数据库系统的所有信息都应该在逻辑一级上用表中的值这一种方法显式的表示;依靠表名、主码和列名的组合,保证能以逻辑方式访问关系数据库中的每个数据项;全关系的关系数据库系统支持空值的概念,并用系统化的方法处理空值;数据库的描述在逻辑级上和普通数据采用同样的表述方式;一个关系数据库系统可以具有几种语言和多种终端访问方式,但必须有一种语言,它的语句可以表示为严格语法规定的字符串,并能全面的支持各种规则;所有理论上可更新的视图也应该允许由系统更新;系统应该对各种操作进行查询优化;无论数据库的数据在存储表示或存取方法上作任何变化,应用程序和终端活动都保持逻辑上的不变性;当对基本关系进行理论上信息不受损害的任何改变时,应用程序和终端活动都保持逻辑上的不变性;关系数据库的完整性约束条件必须是用数据库语言定义并存储在数据字典中的;关系数据库系统在引入分布数据或数据重新分布时保持逻辑不变;如果一个关系数据库系统具有一个低级语言,那么这个低级语言不能违背或绕过完整性准则。考虑到性能和可靠性方面的因素,一般应用程序都使用带有"客户/服务器数据库引擎"的关系数据库管理系统〔如MicrosoftSQLServes,Oracle等),MicrosoftSQLServer2000能提供超大型系统所需的数据库服务,可在多个用户之间有效地分配可用资源,它不仅是一个巨大的数据容器,更是一个非常强大的数据处理工具而且可以很好地与ASP.NET合作,因此是本系统数据库服务器的理想选择。在线作业提交批改系统在基于B/S的三层模式基础之上利用ASP.NET和ADD数据访问对象技术进行开发。学生只需在客户机上安装浏览器并连上Internet就可使用本系统中的上传下载作业系统。

3需求分析系统包括:管理员、学生、教师管理等几个主要模块①管理员管理:完成对教师,学生的管理②教师管理:教师需要用户名和口令登录;在学生提交作业前,需要教师定义课程:一个教师可以定义多门课程,一门课可能要提交多次作业,这些信息由教师定义,并输入每门课的学生基本信息(序号、学号、姓名);教师可以布置作业,作业提交以WORD文档提交,对于每次作业教师可以指定最后提交期限,超过期限不能再提交,在期限前可以多次提交,但覆盖前次提交;教师可以浏览提交的作业,并可以给出成绩或修改成绩,每次作业记一次成绩,系统可以自动计算总成绩和平均成绩;可以按学号或成绩排序后导出到Excel表;每门课提交的作业,存放在一个文件夹下,以课程名命名,如:“数据库原理及应用”,每个作业的命名为:“专业班级_序号_姓名_次数.doc”,如:计本10601_12_张三_01.doc”,而且支持教师将文件下载到本地,便于刻录光盘。③学生管理:学生进入网站后,选择用户名和输入口令后登录,学生登录后可以浏览和下载作业内容。4系统设计4.1系统模块结构图系统结构模块主要分三大模块,分别是管理员模块、教师模块和学生模块,其结构如图2所示。图2系统功能图4.2系统设计的基本原则本系统的目标是在Internet/Intranet上来实现网上作业提交,可以实现学生在线提交作业的无纸化管理,可以有效利用校园网的软硬件资源,使其发挥最大效力,更好的为学校的教学、科研、管理服务,随时随地的可以让学生联机操作提交。系统采用了模块化的设计方法:选择了面向对象的、易于扩展的JavaEE编程语言环境使用MySql5.2做为数据库平台。本系统整体上可划分为若干个功能模块。系统安全可靠也是一个重要的设计原则。本系统的配置是采用WindowsXP作为网络操作系统,MySql5.2作为数据库服务器。所以操作系统WindowsXP的安全防护机制及数据库MySql5.2的安全机制是本系统采用的安全防护方式。4.3功能模块设计在线作业提交批改系统从功能上可分为教师管理程序、学生管理程序和管理员管理程序,教师管理程序部分主要实现学生信息的添加、课程信息的添加、上传下载作业和评定成绩的管理,学生管理程序部分主要实现了学生对作业的下载和上传。管理员具有系统的完全权限;管理员具有添加和删除教师的权限。系统主要功能模块具体描述如下:4.3.1教师模块主要包括查看课程模块,查看学生模块,添加课程模块,添加或删除学生到指定的课程模块,查看作业模块,查看成绩模块。查看课程模块,主要功能:查看教师自己所定义的课程。查看学生模块,主要功能:查看教师添加的所有学生的详细信息,还可以修改学生信息,删除学生信息。添加课程模块,主要功能:添加新的课程,并在服务器端添加相应的文件夹。添加或删除学生到指定的课程模块,主要功能:可以将学生任意的添加到指定的课程,或从指定的课程删除学生。查看作业模块,主要功能:查看学生所提交的作业,并可以下载到本地电脑,便于刻录光盘。查看成绩模块,主要功能:查看系统经过教师给出的成绩,自动计算的总成绩、平均成绩,并能够导出到Excel表。4.3.2管理员模块主要包括教师管理,主要功能:增加,修改,删除教师用户。4.3.3学生模块主要包括学生自身信息管理,主要功能:查看教师布置的作业,并下载作业,完成作业后提交到服务器。4.4数据库设计利用MySql5建立一个数据库data,包含有8个表。(1)管理员信息表admin,目的用于验证管理员的身份,其字段如表1。表1admin表名admin(管理员表)字段名字段描述字段类型约束admin_id管理员idint主键、自增username用户名Varchar(45)Notnullpassword密码Varchar(45)(2)教师信息表teacher,用来存放教师信息,其字段如表2。表2teacher表名teacher(教师信息表)字段名字段描述字段类型约束workid教师idint主键、自增tpassword密码Varchar(45)Notnulltname教师姓名Varchar(45)sex性别Varchar(45)subject课程Varchar(45)classid班级Varchar(45)(3)学生信息表student,用来存放学生信息,其字段如表3。表3student表名teacher(学生信息表)字段名字段描述字段类型约束userid学生idint主键、自增username用户名Varchar(45)password密码Varchar(45)name学生姓名Varchar(45)studentid学号Varchar(45)sex性别Varchar(45)specialty专业Varchar(45)classid班级号Varchar(45)phone电话Varchar(45)rdate注册时间Varchar(45)(4)作业表work,用来存储教师发布的作业信息,其字段如表4。表4course表名course(课程信息表)字段名字段描述字段类型约束hid作业idint主键、自增htitle作业名Varchar(45)hcontent作业内容Varchar(45)btime布置时间Varchar(45)ctime截至时间Varchar(45)cfile作业附件Varchar(45)tid布置老师idintclassid班级Varchar(45)(5)作业提交表,其字段如表5。表5dohomework表名work(作业信息表)字段名字段描述字段类型约束hid作业idint主键、自增htitle作业题目Varchar(45)hcontent作业内容Varchar(45)ctime提交作业时间Varchar(45)student学生Varchar(45)classid班级Varchar(45)teacherid教师Varchar(45)fen得分Varchar(45)cfile提交作业的附件Varchar(45)(6)用户userInfo,用来存储用户信息,其字段如表6。表6score表名userInfo字段名字段描述字段类型约束userid主键int主键、自增username用户名Varchar(45)Notnullpassword密码Varchar(45)Notnullmail邮箱Varchar(45)name姓名sex性别zhuanye专业class班级ID5系统实现整个系统的结构如图3所示。图3图3系统的目录图5.1用户登录用户登录分为三种选择:教师用户登录、学生用户登录和管理员用户登录。登录后分别进入不同的页面,其实现界面如图4所示。图4登录页面主要代码://教师用户登陆方法elseif(role!=null&&role.trim().equals("teacher")) { intworkId=0;teachert=newteacher();try{ workId=Integer.parseInt(username); }catch(Exceptione) { out.println("您的输入有误"); } System.out.println(workId); t.setWorkId(workId); t.settPassword(password); intnotify=t.login(); if(notify==2){ out.println("用户名不存在"); return; }elseif(notify==1){ out.println("密码错误"); return; }elseif(notify==4) { session.setAttribute("name",teacher.findByNo(workId).gettName());session.setAttribute("teacher",teacher.findByNo(workId));session.setAttribute("classid",teacher.findByNo(workId).getClassid()); session.setAttribute("teacher","true"); response.sendRedirect("index.jsp?id="+username); }elseif(notify==0) { out.println("没有这个用户"); return; }elseif(notify==1){ out.println("密码错误"); return; }elseif(notify==3) { out.println("密码为空"); return; } }//学生用户登陆方法Stringlogin=request.getParameter("login");Stringrole=request.getParameter("role");if(login!=null&&login.trim().equals("true")){ Stringusername=request.getParameter("username"); Stringpassword=request.getParameter("password"); if(role!=null&&role.trim().equals("student")) { intnotify=user.userLogin(username,password); if(notify==2){ out.println("用户名不能为空!"); return; }elseif(notify==3){ out.println("密码不能为空"); return; }elseif(notify==4) { session.setAttribute("username",user.find(username).getUserName()); session.setAttribute("student",user.find(username));session.setAttribute("classid",user.find(username).getClassId()); session.setAttribute("user","true"); response.sendRedirect("index_student.jsp?id="+username); }elseif(notify==0) { out.println("没有这个用户"); return; }elseif(notify==1){ out.println("密码错误"); return; } }//管理员用户登录elseif((role!=null&&role.trim().equals("admin"))) { intnotify=admin.userLogin(username,password); if(notify==2){ out.println("用户名不能为空"); return; }elseif(notify==3){ out.println("密码不能为空"); return; }elseif(notify==4) { session.setAttribute("admin","true"); response.sendRedirect("admin/index.jsp"); }elseif(notify==0) { out.println("没有这个用户"); return; }elseif(notify==1){ out.println("密码错误"); return; } }}5.2教师用户管理5.2.1作业布置教师注册时会注册课程号,专业信息等,教师可以管理多个班级,当教师发布作业时,对应班级的学生就能看到作业,并且可以点击“查看作业”按钮来查看作业的详细信息,也可以点击“下载”按钮来查看这次作业的附件情况,教师可以布置作业,可以编辑作业题目、内容,并可以添加附件,会自动在服务器添加文件夹和文件,以便学生下载,其实界页面如图5所示。图5布置作业5.2.2作业批改查看所以学生针对之前布置作业提交的所有作业,可以点击“批改”按钮来查看学生提交的作业的详细信息,可以点击“附件”下载学生为作业上传的附件,作业列表实现界面如图6。如图7所示,我们可以通过点击“批改作业”对这个学生的作业进行批改。图6提交的作业信息列表图7批改作业界面5.2.3个人信息维护查看当前登陆用户的基本资料,并提供修改公呢个,可以点击“资料修改”按钮来修改用户信息,其实现界面如图8所示。图8教师个人信息维护主要代码://教师信息修改代码intfindByName=Integer.parseInt(request.getParameter("id"));Stringurl="passworldchange.jsp?id="+findByName; %> <!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"> <html><head></head> <h1align="center">详细资料</h1> <p>您的ID是:<%=teacher.findByNo(findByName).gettWorkId()%></p> <p>您的姓名是:<%=teacher.findByNo(findByName).gettName()%></p> <p>您的性别是:<%=teacher.findByNo(findByName).getSex()%></p> <p>您所受的班级是:<%=teacher.findByNo(findByName).getClassid()%></p> <p><ahref=<%=url%>>修改密码</a></p>5.2.4成绩管理学生个人信息维护界面主要代码:<%@pagelanguage="java"pageEncoding="GB18030"import="com.homework.user.*"%><%Stringid=request.getParameter("id");Stringurl="user_fix.jsp?id="+id; %> <h1align="center">详细资料</h1> <p>您的姓名是:<%=user.find(id).getName()%></p> <p>您的性别是:<%=user.find(id).getSex()%></p> <p>您的专业是:<%=user.find(id).getSpecialty()%></p> <p>您的班级是:<%=user.find(id).getClassId()%></p> <p>您的性别是:<%=user.find(id).getSex()%></p> <p><ahref=<%=url%>>修改密码</a></p>ing());Response.End();5.3学生用户管理学生可以通过“下载作业”按钮来下载教师已经布置的作业,也可以通过“提交作业”按钮来将自己的作业提交给教师,其实现界面如图10所示。图10作业列表图11作业详细界面图12作业下载主要代码://下载作业Stringfile=request.getParameter("filename");file=newString(file.getBytes("iso-8859-1"),"GBK");response.reset();//可以加也可以不加response.setContentType("application/x-download");Stringfiledownload=request.getRealPath("/file/"+file);System.out.println(filedownload);Stringfiledisplay=file;filedisplay=URLEncoder.encode(filedisplay,"UTF-8");response.addHeader("Content-Disposition","attachment;filename="+filedisplay);OutputStreamoutp=null;FileInputStreamin=null;try{outp=response.getOutputStream();in=newFileInputStream(filedownload);byte[]b=newbyte[1024];inti=0;while((i=in.read(b))>0){outp.write(b,0,i);}outp.flush();}catch(Exceptione){System.out.println("Error!");e.printStackTrace();}finally{if(in!=null){in.close();in=null;}if(outp!=null){outp.close();outp=null;//tomcat5下jsp出现getOutputStream()hasalreadybeencalledforthisresponse异常的原因和解决方法out.clear();out=pageContext.pushBody();}}5.4管理员管理查看所有的教师用户信息,能够点击“添加教师”按钮来添加新的教师,通过点击“修改”按钮来编辑教师的信息,点击“删除”按钮可以删除教师用户,其实现界面如图11所示。图11管理员系统界面主要代码://删除教师用户publicvoidDeleteTeacher(stringteacherid){SqlDataAccesssda=newSqlDataAccess();DataSetds1=sda.ReturnStudentIDDataSet(teacherid);string[]ListOfStudentID=newstring[ds1.Tables["Student"].Rows.Count];for(inti=0;i<ds1.Tables["Student"].Rows.Count;i++){ListOfStudentID[i]=ds1.Tables["Student"].Rows[i]["StudentID"].ToString();}foreach(stringp1inListOfStudentID){sm.DeleteStudent(p1);}DataSetds2=sda.ReturnCourseIDDataSet(teacherid);string[]ListOfCourseID=newstring[ds2.Tables["Course"].Rows.Count];for(intj=0;j<ds2.Tables["Course"].Rows.Count;j++){ListOfCourseID[j]=ds2.Tables["Course"].Rows[j]["CourseID"].ToString();}foreach(stringp2inListOfCourseID){bm.DeleteCourseByID(p2);}stringsql="deletefromTeacherListwhereTeacherID='"+teacherid+"'";sda.RunSqlNoReturn(sql);}5.5系统稳定安全性本系统是一个基于Internet的MIS系统,网络安全问题是基于Internet系统的一个重要问题。本系统的网络安全问题主要从以下几方面来实现的:1)依靠操作系统Windows2000及大型数据库MicrosoftSQLServer2000的权限设置来控制。2)本系统对各用户进行权限设置,共有三种用户:系统管理员,教师、学生。三种用户有着不同的操作权限和操作界面,系统管理员拥有最高权限,可以添加、修改和删除教师用户;教师用户的权限仅次于管理员,可以添加、修改和删除学生用户;学生用户拥有最低权限,只能查看一些信息,不能修改任何数据。3)应用目前比较成熟的防火墙技

温馨提示

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

评论

0/150

提交评论