当前位置:   article > 正文

java毕业设计——基于JSP+access的网络故障管理平台设计与实现(毕业论文+程序源码)——网络故障管理平台_以 access 数据库作为后台数据库,采用 b/s 模式,完成某学校教材信息的录入、修改

以 access 数据库作为后台数据库,采用 b/s 模式,完成某学校教材信息的录入、修改

基于JSP+access的网络故障管理平台设计与实现(毕业论文+程序源码)

大家好,今天给大家介绍基于JSP+access的网络故障管理平台设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴,可以进入我的博客主页查看左侧最下面栏目中的自助下载方法哦

文章目录:

1、项目简介

  1. 该系统是设计一个基于Web的校园网故障管理平台,以实现对用户申报的故障信息的录入,故障处理单的派发,处理情况的记录以及对故障信息和派单完成情况的统计。

  2. 在设计时综合考虑本系统的特性以及应用环境的特点,决定采用基于B/S模式的传统二层开发体系结构,选择JSP技术作为本系统开发的核心技术。采用Access 作为后台数据库,虽然Access数据库并不是与JSP技术最匹配的数据库,但其采用非常友好的Windows图形用户界面的,方便了数据库、表的建立。在数据库访问方面,使用JDBC-ODBC桥作为驱动程序。

  3. 本文首先介绍了基于B/S体系结构的故障管理平台设计的基本思想。通过与ASP、PHP在运行速度、运行耗损、难易程度、运行平台、安全性、函数支持等多个方面的比较,并结合本系统的特性以及其应用环境,说明了JSP技术的优势;接着,讲述了数据库表创建的过程;为了使整个开发过程条理化、有序化,提高了开发效率,通过系统功能的详细分析,将系统分为两大子系统:用户管理子系统,完成用户的添加、权限设置、用户信息修改;故障管理子系统,完成故障的录入、故障信息的查询、故障的派单、处理以及故障的统计。最后,说明了基于Web的故障管理平台的各个模块的处理方法和代码范例,并对系统实现中遇到的关键性问题,例如分页技术、事务处理等,进行着重介绍。


2、资源详情

项目难度:中等难度
适用场景:相关题目的毕业设计
配套论文字数:14820个字48页
包含内容:整套源码+完整毕业论文


3、关键词

JSP;Access;故障管理;B/S

4、毕设简介

提示:以下为毕业论文的简略介绍,项目源码及完整毕业论文下载地址见文末。

第1章 绪论
1.1 选题的意义及背景
作为大学的校园网络中心,基本上每天都会接到很多的校园网络用户或网通用户故障咨询的电话,这些故障有的可以通过电话解决,但更多的是无法当场解决的,就需要把故障和用户记录下来,然后派发故障单给技术人员,由技术人员对故障进行解决,最后再把解决情况记录下来,作为其他工作人员进行统计的依据,或作为技术员解决故障的参考。因此就需要一个进行故障管理的体系,传统的做法主要是靠“人力”解决,由外线人员将故障信息及用户信息记录在单子上,然后签发故障处理单给技术员,技术员解决故障后,再将故障处理情况记录在单子上。这种做法既耗时又耗力,往往使得用户的故障不能及时解决,甚至导致用户的工作受到阻碍,这在突发故障较多的时候,更是明显;由于信息都是记录在单子上的,工作人员在统计某项信息时,需用一个一个的查看故障单,而在统计其它信息,又要重新查看故障单,加大了工作人员的工作量,而且统计效果也无法达到理想。
随着Internet的迅速发展,网络用户也大量增加,仅仅一个校园网,其用户也是可观的;用户的增加相应的导致申报的故障增多,同时故障类型也是越来越繁杂,传统的故障管理系统越来越不能及时解决故障,同时故障统计也越来越困难;而且网络的迅速发展,也使得人们对网络的依赖程度越来越高,故障不能及时解决带给用户的困扰也越来越大,甚至会决定用户的工作能否保留。为了改变这种情况,就需要一个新的系统,这个系统可以及时的解决故障,快速地完成故障统计。

伴随着Internet的迅速发展,WEB服务因其优秀的易用性成为Internet所提供的最重要的功能之一,而基于Web所开发的系统的具有以下几个显著的特点:①支持后台数据库,可以通过简单的WEB程序访问服务器端数据库,动态地将数据库中的信息、发布到WEB网站上;②动态、可控的内容显示,可以根据用户不同的要求显示不同的页面;③强大的可扩充性,可以利用一定的程序接口实现各种各样的扩充功能。这些功能刚好可以很好的解决传统的故障管理系统的不足之处。

1.2 架构模式
目前流行的系统架构模式有两种,一种是基于局域网的C/S(Client/Server)架构体系,另一种是应用于广域网B/S(Brower/Server)架构。

1. C/S
C/S是指任何将事务处理分开进行的网络系统,具有明显区别于单机模式的优势。基于C/S的网络结构,客户要通过特定的客户端,安装客户端软件才能联结到服务器上。C/S体系结构的数据库应用,由两部分组成,即客户应用程序和数据库服务器程序。二者可分别称为前台程序与后台程序。在典型的C/S数据库应用中,数据的储存管理功能,是由服务器程序独立进行的,并且通常把那些不同的前台应用所不能违反的规则,在服务器程序中集中实现。对于工作在前台程序上的最终用户,是“透明”的。在客户服务器架构的应用中,前台程序可以变的非常“瘦小”,麻烦的事情,都交给了服务器和网络。C/S是指将事务处理分开进行的网络系统,具有明显区别于单机模式的优势。所谓C/S体系结构,是指一种计算机体系结构,一种使用硬件和软件资源的方式。在C/S体系结构中,应用程序和数据库及其管理软件分布在由网络连接的不同计算机之间。数据库及其管理软件存放的计算机称为服务器(Server),应用程序所在的计算机称为客户机(Client)。

2. B/S
B/S应用软件体系结构是一种典型的三层C/S结构,它只是变得更加具体一些,采用了标准的HTTP(HyperText Transmission Protocol超文木传送协议)和HTML(HyperText Markup Language超文木标示语言)。它通常由三部分组成:客户端的浏览器、中间层的Web服务器和后台的数据库服务器,所以该结构也被称为“浏览器/Web服务器/数据库”结构,简称B/W/D结构,其结构模型如图2.3所示:[9]

在这里插入图片描述

客户端是一个标准的Web浏览器,它负责与用户交互,向中间的Web服务器发出请求,解释Web服务器返回的HTML文档并显示出来[10]。中间层是Web服务器和服务器扩展程序,Web服务器接受浏览器请求,同时激活服务器扩展程序并将请求信息传递给它,服务器扩展程序将请求信息转换成数据库能够接受的形式(如SQL语句),再把它们送到数据库服务器。数据库服务器接收到SQL语句后执行相应的数据库操作,并把执行结果返回给服务器扩展程序。服务器扩展程序把接收到的执行结果转换成浏览器能够接受的形式(HTML)后传送给Web浏览器。

与传统的C/S两层结构相比,B/S应用软件体系结构的主要特点包括:
1. 客户端采用标准的Web浏览器,除此之外,不用安装其它程序。在各种平台上均有专门厂商提供的浏览器,无需用户自己编写。
2. 浏览器和Web服务器之间采用标准的HTTP协议进行通信。
3. 系统信息和资源以HTML标准进行组织,通过统一资源定位(URL)方式进行访问。
4. 安全性高,应用逻辑和数据库山服务器实现,对客户端是透明的,保证了系统的安全可靠性,并且减少了网络上的数据流量。
5. 伸缩性得到提高,灵活的硬件系统构成,应用服务器和数据库服务器可以根据需要,配置在同一主机上或者不同主机上。
6. 好的扩展性能,可以把应用服务器当作另一个应用服务器的客户机,从而访问该应用服务器上的资源。
可以看出,B/S应用体系结构的最大特点就是使用各种统一的构造和组织系统,所以除了具有三层C/S结构的优点外,B/S应用体系结构还具有更多的优点。
根据本系统的特点:安全性要求高,好的扩展性能等,本设计决定采用B/S模式的传统二层结构实现。

1.3 JSP技术介绍
目前最常用的三种动态网页技术有ASP(Active Server Page,活动服务器页面)技术、PHP(Personnal Hypertext Preprocessor)技术和JSP(Java Server Pages)技术。
JSP是Sun公司推出的新一代网站开发语言,是一种基于WEB的应用程序的开发方法。是将Java代码嵌入HTML中实现动态网页的一种技术,为创建显示动态生成内容的WEB页面提供了一个简捷而快速的方法。JSP技术为创建高度动态的WEB应用提供了一个独特的开发环境,使得构造基于WEB的应用程序更加容易和快捷,而这些应用程序能够与各种WEB服务器、应用服务器、浏览器和开发工具共同工作。
从对JSP、 ASP、PHP三种技术在运行速度、运行耗损、难易程度、运行平台、安全性、函数支持等多个方面进行的比较中(如表1-1所示)可以看出,与ASP,PHP技术相比,JSP技术具有更加良好的特性。

本设计是一个应用于网络管理中心内部的系统,并不对外开放,对安全性的要求较高,而且综合考虑到其他系统的运行环境,JSP是最佳的选择。

表1-1 JSP、ASP、PHP技术比较
在这里插入图片描述

1.3.1 JSP技术的工作原理
JSP页面以扩展名为jsp的纯文本文件的形式存在服务器上,当服务器接收到客户端对某个JSP页面的请求时,如果这是对该页面创建或修改后的第一次请求,那么JSP引擎就把该JSP页面内容转换成一个纯Java语言的Servlet源码,然后将其编译成Servlet字节代码,最后将Servlet的执行结果返回至浏览器o JSP页面被编译成Servlet之后,其执行代码以独立线程的方式一直存在服务器的内存中,以后对该JSP页面提出请求时,不需要重新编译,直到该页面被修改或WEB应用程序重新启动。

省略

其运行方式如图1-2所示:

在这里插入图片描述

1.3.2 JSP的特点
(1) 将内容生成和页面显示进行分离
通过使用JSP技术,可以将内容生成和页面显示的工作进行明确地分离,WEB页面设计人员编写HTML,功能设计程序员使用JSP代码生成页面上的动态内容。生成内容的逻辑被封装在代码标识和Java Beans组件中,所有的脚本在服务器端运行。在服务器端,JSP引擎解释JSP标识和脚本生成所请求的内容(例如通过特定的Java Beans组件访问数据库),并且将结果以HTML页面的形式返回给浏览器。这样既有助于保护网站的安全,又可以保证任何基于HTMI的WEB浏览器的完全可用性。

(2) 代码的安全性
由于JSP页面的内置脚本语言是基于Java语言的,而且所有的JSP页面都被编译成为Java Servlet,因此JSP页面具有Java技术的所有好处,包括健壮的存储管理和安全性。

(3) 跨平台特性
作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。随着越来越多的供应商将JSP支持添加到他们的产品中,开发者可以任意选择服务器和开发工具,更改服务器或开发工具都不会影响当前的应用。

(4) 技术支持广泛
JSP技术基于平台和服务器的互相独立,技术支持来自广泛的专门的各种工具包,由服务器和数据库产品开发商提供,而ASP技术主要依赖于微软的技术支持。

(5) 标记可扩充性
JSP使用标记与脚本技术来制作动态网页,同时支持XML,能够使开发者扩展JSP标记,定制标记库,大大减少对脚本语言的依赖.同时,降低了制作网页和向多个网页扩充关键功能的复杂程度。

1.3.3 JSP基本语法
省略

1.4 HTML简介
HTML(Hyper Text Markup Language)是一种静态语言,它的很多元素是网页构成中的最基本的元素,传统静态网页都是通过HTML语言编写出来,所有的动态页面最后都是通过编译后由HTML语言显示出来的。HTML语法包含了以下部分:
HEAD头元素:HEAD头元素主要包括该页面的一些基本描述语句
标记:HTML标记是一组字符串号,主要用于在HTML文件中表示共浏览器显示的文件类容的显示格式描述。
属性:每一种标记都要由属性,通过属性的使用,来定义标记对象的具体显示格式的编排方式。

在HTML语言中还可以采用JavaScript编程技术,JavaScript是基于对象(object-based)的语言。这与Java不同,Java是面向对象的语言。而基于对象的基本特征,就是采用事件驱动(event-driven)。它是在用图形界面的环境下,使得一切输入变化简单化。通常鼠标或热键的动作我们称之为事件(Event),而由鼠标或热键引发的一连串程序的动作,称之为事件驱动(Event Driver)。而对事件进行处理程序或函数,我们称之为事件处理程序(Event Handler)。

第2章 系统分析及设计
2.1 系统需求分析
1. 完成故障的申报登记:当网络用户通过电话申报故障时,由外线人员接听这些电话,并对用户提出的故障信息进行初步的判断,给出解决建议,若按照建议的方法无法解决时,就由外线人员把故障现象以及用户的一些信息,例如用户名、用户帐号或用户IP等记录入故障单,并根据故障现象、用户的用网情况结合以往常见的故障,对故障原因做出初步的判断。
2. 生成故障处理表单:派发故障处理单给技术员,并在处理单上说明故障现象、外线人员作出的故障初判以及用户信息例如用户姓名、地址。
3. 故障处理情况登记:技术员接到外线人员的派单后,就要根据故障现象以及用户的上网记录,上门进行解决,并把故障原因及处理的情况记录下来。
4. 查询功能:外线人员和技术员都可以查看故障的详细信息。可以实现组合查询。
5. 统计功能:多种条件的组合统计。

2.2 模块设计
根据本系统所要实现的功能,将系统设计为两大子系统:一是用户管理系统,完成用户信息的管理。另一部分是故障管理系统,主要是完成用户申报的故障信息及处理信息的管理,另外还有个登录模块,作为进入系统的门户。本系统的模块结构图如图2-1所示。

本系统根据工作人员的类别,将用户分为三种角色:管理员、前台和外线,对应不同的权限。结合本系统的模块结构,说明每个角色所能进行的操作:
1. 登录模块
登录模块是整个系统的基础,只有拥有正确的帐号和口令才可以进入本系统,是系统安全设计的重要部分,并在用户登录成功后,将用户的帐号及权限暂存,用于其进行操作时的权限判定,由于管理员对其他用户的操作很少,因此本系统设计诚管理员和其他用户共同使用一个登录系统。

2. 用户管理子系统
用户添加模块:由管理员为用户设定登录帐号和秘密。
信息修改模块:修改已注册用户的信息,包括登录口令及个人信息;为了方便管理员的管理,不允许用户修改帐号;其中,管理员可以修改任何用户的登录密码及个人信息,非管理员只能自己的信息。

权限操作模块:包括权限设定和权限判断。权限设定,就是设定用户的角色设定,也就是限定了用户所能进行的操作;当用户选择某个操作时,系统就根据暂存的用户权限值来判断其能否操作。其中,用户的角色是有管理员来设定的,而权限判断则是包含在每个操作文件中。

用户注销模块:用户离开时,为避免用户信息被第三方得知,需要在用户退出系统时,清除系统中暂存的用户信息。这在用户选择离开系统时,系统会自动进行清除。

3. 故障管理子系统
故障录入模块:面向外线人员,将用户录入的故障现象及故障的初步判断录入数据库,同时会更新申报用户信息。
故障查询模块:通过各种查询条件,查找合乎条件的故障详细信息。

故障处理模块:包括故障派单和故障处理,当外线选择派单时,自动的生成一个故障处理单,并将申报用户的姓名、住址以及故障的现象显示出来,同时对故障的状态设为正在处理、并将派单时间记录下来。故障处理是指故障处理信息的录入,包括故障原因,处理过程,处理开始时间,结束时间等,由技术员操作。
故障统计模块:当用户选择一个时间段后,就会将技术员在这段时间里处理及未处理的故障数以及所接到的派单数显示出来。

在这里插入图片描述

2.3 数据库设计
2.3.1 数据库表的设计
本系统的数据库主要包括以下几个数据表:
1. 用户信息表:administ
administ数据表存放用户信息。以uid字段为主键建立索引。数据结构如表2-1所示:
在这里插入图片描述

4. 故障信息表:record_list
record_list数据表存放故障以及派单、处理的一切信息,以list_id字段为主键建立索引;其中,TROUBLE_ID是链接到数据表troub_infor的外键,TROUB_STATE是链接到数据表troub_st的外键,。数据结构如表2-4所示:

表2-4 record_list故障信息表
在这里插入图片描述

5. 网络用户信息表userinfor
在故障处理的程序设计时,需要显示校园网用户的信息,而用户信息是已存在网络用户数据库中的,因此为了程序的实现,做了个虚拟的网络用户信息表,如下表所示:
表2-5 userinfor网络用户信息表
在这里插入图片描述

2.3.2 数据库的选择
数据库的使用是网络管理信息系统中一个重要的环节,正确的安装和设置数据库对一个信息系统的运行起着至关重要的作用。如今市面上数据库的种类很多,Access就是其中的一种,Access是微软推出的以标准JET为引擎的桌面型数据库系统,,具有非常友好的Windows图形用户界面,使得数据库、表的建立可以省去许多麻烦

2.4 系统安全性设计
1. 限定用户的添加
在本系统中,用户只有登录后,才可以进入系统进行一系列的操作,而本系统实现的功能是只有网络管理中心的工作人员才可以使用的,为了防止外界人员通过用户添加获得登录本系统的帐号和口令,因此本系统设定只有作为管理员的领导才可以添加用户,

2. 运用session对象
为了防止绕过登录的外界人员,进入本系统进行破坏,在用户选择任何操作时,利用存在session对象中的用户帐号先判定其是否登录,若用户帐号为空,就会转到登录界面。
但是对于某些执着的攻击者来说,单靠软件自身的安全管理不可能是完全可靠的。所以对付这些攻击者,最安全的措施是将重要数据保存在单独的物理媒质或网络中。

2.5 系统开发环境选择和建立
2.5.1 操作系统
作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。随着越来越多的供应商将JSP支持添加到他们的产品中,开发者可以任意选择服务器和开发工具,更改服务器或开发工具都不会影响当前的应用。基于使用的方便,本设计采用Microsoft Windows 操作系统。

2.5.2 JSP运行环境配置
JSP运行环境的配置主要包括Java环境的配置、JSP服务器的配置和WEB服务器的配置三部分。Java环境的配置主要是通过安装JDK提供Java解释器;JSP服务器的配置主要是完成对JSP程序的编译执行;WEB服务器的配置主要是完成通过Internet发布JSP程序,以提供各种WEB服务。
省略

2.5.3 JDBC技术
本系统采用JDBC技术与Access数据库连接。JDBC是Java数据库连接(Java Data Base Connectivity)技术的简称,是Java语言为了支持SQL功能而提供的与数据库相连的用户接口。面向程序开发人员的JDBC API,包括了一组由JAVA语言书写的接口和类,使用内嵌式的SQL,他们都是独立于特定的DBMS,不用改变自己的数据库系统就可以将应用平台向Java转变。因此,Java和JDBC结合起来,将会使程序经过一次编译即可在其他任何平台上运行。在利用JSP技术开发软件的方式中,JDBC己经成为必不可少的组成部分。在SUN公司提供的JDK中己经有了支持JDBC的类,在使用的时候只要引入相关的类即可。

省略

第3章 系统详细设计
3.1 主界面的设计
操作界面做为应用程序的载体,也是很重要的部分,本系统主界面的设计采用使用方便、风格简单的框架形式,分为三个部分最上面的为标题栏;左边的是本系统的功能目录,方便了用户的操作;右边框为显示页面,目录链接的文件都是显示在这个页面中的。
1. 文件结构
主页面文件main.htm。包括页面上方的title.html文件,左边的left.html,右边的welcome.html.

在这里插入图片描述

图4-1 主界面

2. 文件设计
四个文件的编写都是以HTML语言为基础的,其中在left.html文件中嵌入了JavaScript语言,用于展开或闭合目录。

var curStatus=true;
var curFolder=0;
function GetObj(objName){
	if(document.getElementById){
		return eval('document.getElementById("' + objName + '")');
	}else{
		return eval('document.all.' + objName);
	}
}
function folder(obj)
{
	for(var i=0;i<=99;i++){
		//alert(i);
		if(!GetObj(i.toString())) break;
		GetObj(i.toString()).style.display='none'
		document.images['img'+i].src="bbs_le01a.gif"
	}
	if (curStatus&&(curFolder==obj)){
		curStatus = false;
		GetObj(obj.toString()).style.display='none'
document.images['img'+obj].src="bbs_le01a.gif"

	}else{
		GetObj(obj.toString()).style.display='block'
		document.images['img'+obj].src="bbs_le03a.gif"
		curStatus = true;
	}
	curFolder = obj;

}
</script>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

3.2 用户管理模块
3.2.1 用户登录模块
用户登录是建立在用户注册信息之上的应用,通过用户登录可以判断使用者的身份,只有合法用户可以使用网站提供的服务,而非注册用户则不能使用。

在网络故障管理平台中的用户区中输入登录名和密码,然后单击“登录”按钮,系统会从用户注册数据表中搜寻用户信息与输入信息进行比较,判断登录用户身份的合法性。如果没有相同的记录信息就提示错误,否则登录成功并进入主页面,系统将必要的用户信息写入session中,如登录名、是否登录标识、用户级别等相关信息,为后面的操作提供身份确认。
在这里插入图片描述

2. 文件设计
通过流程图的分析,设计了两个文件实现登录功能,下面是用户添加模块所包含的文件简单说明,如下表所示:
表4-1 文件说明
在这里插入图片描述

(1) login.jsp文件
本文件只是一个简单的静态文件,采用HTML语言实现。界面如下所示:

在这里插入图片描述

(2)  Login_act.jsp文件
本文件主要实现对用户帐号和口令的核对。对于帐号和口令的获取,是通过JSP的内置对象request.getParameter()方法获得的,代码如下:

<%
//提取用户提交的帐号、密码信息
String user_id=request.getParameter("user_id");
String pass=request.getParameter("password");
//省略数据库连接语句 
//建立按照用户帐号和密码查询的数据库查询语句
String sql="select * from administ where uid="+user_id+" and upwd="+
pass+"";
//执行查询语句,并把结果返回给ResultSet对象rs
ResultSet rs=stmt.executeQuery(sql);
//若返回结果不为空,就说明用户帐号和密码正确,转到主界面
if(rs.next())
{String level=rs.getString("root");
//将用户帐号以及权限的值保存在session对象中,为下面的权限判定打下基础
session.setAttribute("id",user_id);
session.setAttribute("level",level); 
……}
//若返回结果为空,说明用户名或密码错误,提示用户并返回到登录界面
else
{……
out.print("alert('该用户帐号或密码错误!');");
}……
%>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

3.2.2 用户添加模块
该模块完成用户添加的过程,只有经管理员添加的用户,才可以进入本系统进行操作。
1 流程分析

在这里插入图片描述

2. 文件设计
本系统设计了两个文件来实现用户的添加,下面是用户添加模块所包含的文件简单说明,如下表所示:
在这里插入图片描述

(1) regist.jsp文件
本文件是为用户提供一个填写信息的界面,基本是以HTML语言来实现。像电话号码、Email这样的数据都有特定的格式,在这里。采用的是JavScript语言中功能强度的事件,用于实现对管理员输入的信息的合法性的检测。本系统采用的是onload事件,当用户提交注册信息时,系统会根据onload事件调用函数check(),检查注册信息是否符合要求,其代码如下:

在这里插入图片描述

图4-4 用户填加模块

(1) regist_act.jsp文件
本文件实现用户填写的注册信息的后台处理,也就是,将填写的信息录入数据库。在regist_act.jsp文件中,采用JSP的内置对象request的getParameter()函数实现对表单数据的读取,并采用SQL语言的insert子句将数据录入数据库中,代码如下:

<%......
//利用request.getParameter()获取用户注册信息
String uid=new String(request.getParameter("id"));
String uname=new String(request.getParameter("name"));
String pwd=new String(request.getParameter("pwd"));
String tel=new String(request.getParameter("tel"));
String email=new String(request.getParameter("email"));
//将用户信息录入数据库
String sql="insert into administ(uid,uname,upwd,utel,uemail) 
values ('"+uid+'",'"+uanme+'",'"+pwd+'",'"+tel+'",'"+email+'")";
//定义整数e用于判断录入数据库是否成功
int e=stmt.executeUpdate(sql);
//若e为0,说明不成功,提示用户不成功的信息
if(e==0)
{
out.print("<script language='javascript'>");
out.print("alert('用户注册不成功,请重试!');");
out.print("window.location.href='regist.jsp';");
out.print("</script>");
out.close(); 
}
//若e不为0,提示用户添加成功,并转到权限操作界面
else
{
out.print("<script language='javascript'>");
out.print("alert('用户注册成功!');");
out.print("window.location.href='level.jsp';");
out.print("</script>");
out.close();
}
%>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

3.2.3 权限设定
该系统根据故障的处理流程将用户划分为三种角色,管理员,外线,技术员,每个角色所能进行的操作又有不同。

在这里插入图片描述

3.2.4 用户查询模块
该模块主要实现对本系统用户信息的查询,并可对显示出的用户进行操作,例如,修改用户信息、删除用户等,不过每种操作都有一定的权限要求。
1. 流程分析

在这里插入图片描述

2. 文件设计
本模块把查询条件、后台处理、结果显示都放在一个文件中来实现,其界面如下图所示:

在这里插入图片描述

3.2.5 用户信息修改模块
主要实现对本系统用户的个人信息以及登录口令的修改,但不允许修改用户帐号。
1. 流程分析
如图所示:
2. 文件设计
根据信息修改的流程图,本系统设计了两个文件来实现这一部分功能,下面是对实现系统用户信息修改的文件的简单说明,如下表所示:
表4-2 文件说明
在这里插入图片描述

(1) moduser.jsp文件
本文件大部分采用的都是HTML语言,对用户两次输入的密码的是否一致、Email格式是否正确的判断上,与用户添加模块一样采用了JavaScript语言,及通过onload事件来实现判断函数的调用。
(2) moduser_act.jsp文件
本文件主要是完成将用户填写的信息录人数据库,以及对录入是否成功,给出判断,并根据判断结果返回到不同的页面,实现代码与用户添加模块及其相似,只是根据是否修改密码,设定了两种Update子句。

在这里插入图片描述

3.2.6 用户删除模块
1. 流程分析
在这里插入图片描述

2. 文件设计
本模块的实现文件只有一个,采用SQL语言中的delete子句完成,代码如下在:

<%
……
String uid = request.getParameter("id");
sql="delete from administ where uid='"+uid+"'";
int a=stmt.executeUpdate(sql);
……
%>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在这里插入图片描述

3.2.7 用户注销
登录注销也是建立在用户注册信息之上的应用。当用户对网站的访问结束后,需要注销登录时留下的信息,防止被其他用户盗用个人账号进行登录。

在网络故障管理系统中,单击“退出”链接,系统会注销分配给用户的session对象完成用户登录的注销,保证用户账号的安全。注销后系统自动返回到登录页面。清除session变量的程序代码如下:

<%
……
Session.invalidate();
%>
  • 1
  • 2
  • 3
  • 4

3.3 故障管理模块
3.3.1 故障录入
主要是实现将用户申报的故障录入数据库,以及该用户的数据的更新。
1. 流程分析

在这里插入图片描述

2. 文件设计
根据信息修改的流程图,本系统设计了两个文件来实现这一部分功能,下面是对实现系统用户信息修改的文件的简单说明,如下表所示:
表4-2 文件说明
文件名称 文件说明
add.jsp 故障及网络用户信息录入页面
add_act.jsp 后台处理文件
(1) add.jsp文件
采用的是HTML语言编写的,其运行界面如图所示:

在这里插入图片描述

3.3.2 故障查询
在此模块中,有两种查询方式供用户选用,一个是快速查找,实现故障的模糊查找;另一个是组合查询,实现故障的精确查找。
1. 流程分析
在这里插入图片描述

2. 文件设计
通过流程图的分析,并结合实际需求,设计了四个文件来实现这一部分功能,下面是对实现系统用户信息修改的文件的简单说明,如下表所示:
表4-2 文件说明
文件名称 文件说明
viewList.jsp 显示故障详细信息
list_manage.jsp 查询条件,查询的后台处理及显示结果列表

(1) list_manage.jsp文件
本文件将查询信息的录入界面与后台处理程序融合一起。提供的查询条件既可以单独查询,又可组合查询,很方便用户的使用本。文件提供的查询条件有:故障编号、故障状态、技术员等;界面如下所示:

本部分实现的关键是查询条件的组合,以及分页技术,分页技术会在后面介绍。组合查询条件的代码如下所示,这种组合不仅可以实现快速查找,也可以实现组合查询。

if(lid!=null&&!lid.equals("")){
sql2="list_id="+lid;m=true;}
if(uid!=null&&!uid.equals("")){
m=true;if(!sql2.equals("")) sql2+=" and";sql2+=" user_id like '%"+uid+"%'";
}
if(uip!=null&&!uip.equals(""))
{
m=true;
if(!sql2.equals("")) sql2+=" and";
sql2+=" user_ip like '%"+uip+"%'";
}
 
if(server_st!=null&&!server_st.equals(""))
{
m=true;
if(!sql2.equals("")) sql2+=" and";
sql2+=" server_state like '%"+server_st+"%'";
}

if(troub_st!=null&&!troub_st.equals(""))
{
m=true; if(!sql2.equals("")) sql2+=" and";
sql2+=" troub_state like '%"+troub_st+"%'";
}

if(wname!=null&&!wname.equals(""))
{
m=true; 
if(!sql2.equals("")) sql2+=" and";
sql2+=" work_name like '%"+wname+"%'";
}if(m) swhere="where "+sql2; else  swhere="where list_id like '%%'";
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

查询的结果如下图所示:
在这里插入图片描述

3.3.4 故障处理模块
本模块主要完成故障处理信息的录入。
1. 流程分析
在这里插入图片描述

2. 文件设计
表4-2 文件说明
文件名称 文件说明
chuli.jsp 处理信息的录入界面
chuli_act.jsp 对录入信息的后台处理
(3)  chuli.jsp文件
提供用户录入信息的界面,并将该故障的现象描述,以及申报用户的地址、姓名显示出来,方便了用户的使用。其界面如下图所示:

在这里插入图片描述

3.3.5 故障统计模块
本模块主要实现在某段时间里对技术员派单情况完成的统计工作,以待以后的技术员的工作评价依据;本模块综合利用SQL语言中的聚集函数COUNT()和GROUB BY子句实现的,其关键代码如下:

<%
……
String sql="select work_name,count(*) as count1 from record_list where add_time<”+time1+” and add_time> “+time2+” and troub_state='03' group by work_name";
……
%>
  • 1
  • 2
  • 3
  • 4
  • 5

3.4 分页技术
省略

3.5 事务管理
系统在应用程序中针对特定用户操作功能,如故障录入,申报故障的用户信息更新等,涉及到对几个数据库表同时更新的情况,为保证数据一致性,采用了事务管理。事务是数据库管理系统的执行单位,它由有限的数据库操作序列所组成。它有下列四个性质:[7]
(1) 执行的原子性:事务在执行时,要么不做,要么全做,即不允许事务部分地完成,如因为故障不能完成,在恢复时也要消除其对数据库的影响。
(2) 功能上保持一致性:事务对数据库的作用应使用数据库从一个一致状态转变到另一个一致状态。所谓数据库一致状态是指数据库中的数据满足完整性约束。例如用户发送一条信息,信息主表中有这条记录的具体内容,而子表没有对应的接收者记录,则数据库中数据就会产生不一致情况。
(3) 彼此的隔离性:如果多个事务并发地执行,应像各个事务独立执行一样。并发控制就是为了保证事务间的隔离性。
(4) 作用的持久性:一个成功执行的事务对数据库的影响是持久的,即使数据库因故障而受到破坏,DBMS也应该能够恢复。

本系统中利用支持事务处理的JDBC API来实现事务管理,事务处理流程如图4-2所示:
JDBC驱动程序创建了一数据库连接后,默认的是自动提交模式(true),即JDBC驱动程序在每一个单独的SQL语句执行完毕后立刻提交一个事务。所以在程序中事务处理时首先将从数据库连接池获取的连接对象设置自动提交模式为false,执行一系列SQL语句后再一起提交给数据库,如执行过程中发生意外,利用try-catch子句捕捉意外,回滚恢复数据库至原来状态,这样保证了对后台数据库操作的数据一致性。本系统用到的代码如下:

<%
……
boolean defaultCommit=false;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Stringdriver="jdbc:odbc:mydata";
conn=DriverManager.getConnection(driver);
defaultCommit=conn.getAutoCommit();
conn.setAutoCommit(false);
……
stmt.executeUpdate(sql2);
……
conn.commit();
catch(Exception e){
conn.rollback();
e.printStackTrace();
}finally{
conn.setAutoCommit(defaultCommit);
……}
%>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

在这里插入图片描述

这一部分内容介绍了网络故障管理系统的JSP模块设计、代码编写。至此,这个完整的基于WEB的网络故障管理系统就设计完成。

结 论
一、本次毕业设计的完成情况
本课题的主要工作是针对目前采用的ASP或PHP技术建设动态网页带来的缺陷,如开发和维护复杂、适应性差、安全性不高等,通过采用基于Java语言的JSP技术,开发一个基于WEB的网络故障管理信息系统,实现故障录入,派单,处理以及统计功能,并完成系统用户的管理功能。经过将近三个月的努力和老师的精心指导,本设计已基本完成上述功能。
本系统还存在一些数据优化、网站页面美观、个别特殊功能不完善等不足,例如本设计所采用的分页技术在运用时会占有大量内存,本系统还可以增加一个供用户交流的平台,但由于时间和精力有限,还待在以后的版本中完善。

致 谢
省略

参考文献
[1]张海藩. 软件工程. 第二版. 人们邮电出版社,2006年
[2]陶宏才. 数据库原理与设计. 北京:清华大学出版社,2004年
[3]何博. Access开发实例完全剖析. 中国电力出版社,2006
[4]石志国、薛为民、董洁. JSP应用教程. 清华大学出版社、北京交通大学出版社,2004年
[5]杨珏、卢银娟、赵昊彤. JSP网络开发技术. 人民邮电出版社,2001年:3-13
[7]王能斌. 数据库系统原理. 北京:电子工业出版社,2000.10
[8]雷钧. 基于WEB技术的管理信息系统的开发研究. 华中科技大学硕士学位论文. 2005年:8-9


5、资源下载

本项目源码及完整论文如下,有需要的朋友可以点击进行下载。如果链接失效可点击下方卡片扫码自助下载。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/162363
推荐阅读
相关标签
  

闽ICP备14008679号