基于jsp开发的 电力收费系统 毕业论文 - 图文

更新时间:2023-03-08 17:02:40 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

2011届毕业生 毕业论文

题 目: 电力收费系统 院系名称: 信息科学与工程学院 专业班级: 计算机科学与技术专业 学生姓名: xxx 学 号: xxxx 指导教师: xxx 教师职称: xx

2011 年 6 月 3 日

摘 要

电力行业是国民经济的基础产业,是人们日常生活的基础。保证持续、高效的电力供应是关系到国计民生的大事。对电力系统管理来说,电费的收取以及管理,是整个电力系统规范化管理的核心。 因此,针对这一现实问题,为满足电业部门的需求,开发研制电力收费系统。电力收费系统是专门对电力部门各用户电费管理及相关工作的管理与维护,而精心开发出的一个收费管理软件。利用计算机可以进行快捷和准确的运算,不需要大量的工作就可以完成每月的电表计费工作。而且利用计算机系统的软件处理,生成各种报表,有利于提高管理决策。

根据实际需求,电力收费系统在Windows XP操作系统环境下,以MyEclipse 6.5为开发平台,使用JSP技术设计完成,并使用MySql建设网络数据库。本系统采用JDBC接口连接数据库,整个开发过程是在JSP页面上进行,WEB工具采用Tomcat。通过B/S模式(浏览器/服务器模式)进行前台后台的操作,对用户信息及时地进行添加,删除,查询。

本项目的设计思想是对每个用户的用电信息等进行统一管理与维护,利用本系统电力部门可以实现每月网上收取电费,既方便了广大的用户,同时也方便了对供电工作进行管理的工作人员。使电费之收取方式操作简便、对用户进行统一和整体化的管理。

关键词: 电费;电力收费;jsp技术;MySql;JDBC

I

Title The electric charge system

Abstract

Electric power industry is the foundation of the national economy and the basis of People's Daily life. To ensure sustainable and efficient power supply is a event to the people's livelihood. For the power management system, the electricity charge and management, is the core of the whole power standardization management system. Therefore, according to this problem, to meet the needs of the Power department, we develop the electric charge system .Electricity charge system is a charge management software for the Power department’s management and maintenance. Making use of the calculator can carry on a fast and accurate operation, don't need a great deal of work and then can complete the electricity charging in every month. And using a computer’s software, it can generate reports, and improve management decisions. According to the actual demand, the project of the electrical bill system adopts the JSP technology, in Windows under the XP operating system environment, and use MYSQL to build the network database. This system uses JDBC interface to connect the database, the entire development process is in the JSP page, WEB tools use Tomcat. Through the B/S to operate in the front and the background, and users timely to add, delete, query.

The design thought of this project is to manage and maintain users' information in a unity, and power department could charge online by using this system, it's a great convenience for both users and workers who manage the power supply. This system makes it easier and convenient in charging operations, a unified and integrative management of users is also achieved in this project.

Keyword: Electricity charges; The electric power charges; JSP Technique; MYSQL;JDBC

II

目 次

1 前言...................................................................... 1

1.1 设计背景............................................................ 1 1.2 系统目标............................................................ 1 2 开发环境及相关技术介绍.................................................... 2

2.1 MyEclipse简介 ...................................................... 2 2.2 关系型数据库MySQL简介.............................................. 4 2.3 Tomcat 服务器介绍................................................... 5 2.4 JSP技术介绍 ........................................................ 5

2.5 css和Js技术简介 ................................................... 6

2.5.1 Css层叠样式表简介 ............................................ 6 2.5.2 JS技术简介 ................................................... 7 3 需求分析.................................................................. 9 3.1 用户需求分析........................................................ 9 3.2 功能需求分析........................................................ 9 3.3 系统可行性分析..................................................... 10 4 系统概要设计............................................................. 11

4.1功能实现 ........................................................... 11 4.2.电力收费系统各个模块设计........................................... 12 4.2.1电力收费系统总体功能模块结构图 ............................... 12

4.2.2 前台模块结构图............................................... 13 4.2.3 后台模块结构图............................................... 13 4.3功能实现流程图 ..................................................... 14

4.3.1 添加用户功能流程图........................................... 14 4.3.2 登录模块功能流程图........................................... 15

5 数据库设计............................................................... 16

5.1 数据库需求分析..................................................... 16 5.2 数据库概念结构设计................................................. 16 5.3 数据库逻辑结构设计................................................. 20 5.4 数据库物理结构实现................................................. 23 6 详细设计................................................................. 25

6.1 设计方法与结构的简介............................................... 25

6.1.1 面向对象的优点............................................... 25 6.1.2 B/S模式 ..................................................... 25 6.2 页面设计及代码实现................................................. 26

6.2.1 后台功能模块实现............................................. 26 6.2.2前台模块功能模块实现 ......................................... 37

1

结 论...................................................................... 42 致 谢...................................................... 错误!未定义书签。 参 考 文 献................................................................ 43

2

1 前言

1.1 设计背景

电力行业关于电费的征收是一项基本的工作,传统的征收方法是依靠各居民小区分片管理,每月依靠人员上门登记电费度数,人工计算出所要收取的费用,然后下发收费发票,居民在收到收费发票的同时进行缴费。对于电力主管部门而言,电量消耗、收费情况的统计都需要大量的人力物力,而且还不能做到很准确。

对电力系统管理来说,电费的收取以及管理,是整个电力系统规范化管理的核心。 因此,针对这一现实问题,为满足电业部门的需求,开发研制电力收费系统。电力收费系统是专门对电力部门各用户电费管理及相关工作的管理与维护,而精心开发出的一个收费管理软件。利用计算机可以进行快捷和准确的运算,不需要大量的工作就可以完成每月的计费收费工作。而且利用计算机系统的软件处理,生成各种报表,有利于提高管理决策。

1.2 系统目标

通过实际的需求分析,开发出本套电力收费系统。本系统主要利用计算机网络进行电费的收取,通过本系统,电力部门完全可以通过网络进行电费收缴,并且对相关报表进行处理。提高电力收费系统的工作效率,充分利用现有资源,包括人力、物力、财力、在管理上达到数据快速准确及时可靠地输出,同时节省人力和时间,使电力部门收费信息化。

本系统主要实现以下目标:

1、系统采用人机交互的方式,界面美观友好,信息查询灵活、方便,数据存储安全可靠。

2、在系统安全方面,用户和管理员要通过登录模块验证成功之后才可以进入系统的主窗体。

3、系统最大限度地实现易维护性和易操作性。

4、对普通用户和工业用户进行区别操作,更符合电力收费的现状。 5、在网上交费使电费的收取方式简便、对用户进行统一和整体化的管理。

1

2 开发环境及相关技术介绍

2.1 MyEclipse简介

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

在结构上,MyEclipse的特征可以被分为7类: 1. J2EE模型 2. WEB开发工具 3. EJB开发工具

4. 应用程序服务器的连接器 5. J2EE项目部署服务 6. 数据库服务 7. MyEclipse整合帮助

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

简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。

Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。

Eclipse最初是由IBM公司开发的替代商业软件Visual Age for Java的下一代IDE开发环境,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会(Eclipse Foundation)管理。 2003年,Eclipse 3.0选择OSGi服务平台规范为运行时架构。 2007年6月,稳定版3.3发布。2008年

2

6月发布代号为Ganymede的3.4版。

Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。

Eclipse 最初由OTI和IBM两家公司的IDE产品开发组创建,起始于1999年4月。IBM提供了最初的Eclipse代码基础,包括Platform、JDT 和PDE。目前由IBM牵头,围绕着Eclipse项目已经发展成为了一个庞大的Eclipse联盟,有150多家软件公司参与到Eclipse项目中,其中包括Borland、Rational Software、Red Hat及Sybase等。Eclipse是一个开发源码项目,它其实是 Visual Age for Java的替代品,其界面跟先前的Visual Age for Java差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。近期还有包括Oracle在内的许多大公司也纷纷加入了该项目,并宣称Eclipse将来能成为可进行任何语言开发的IDE集大成者,使用者只需下载各种语言的插件即可。

电力收费系统在MyEclipse工作平台上的分布如图2.1和图2.2所示:、

图2.1电力收费系统项目平台分布图

3

图2.2电力收费系统SRC图

2.2 关系型数据库MySQL简介

MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

MySQL是一个真正的多用户、多线程SQL数据库服务器。SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。

SQL是一种标准化的语言,它使得存储、更新和存取信息更容易。例如,你能用SQL语言为一个网站检索产品信息及存储顾客信息,同时MySQL也足够快和灵活以允许你存储记录文件和图像。

MySQL 主要目标是快速、健壮和易用。最初是因为我们需要这样一个SQL 服务器,它能处理与任何可不昂贵硬件平台上提供数据库的厂家在一个数量级上的大型数据库,但速度更快,MySQL就开发出来。

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

图2.2工作平台上导入的Mysql驱动

4

2.3 Tomcat 服务器介绍

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,是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.4 JSP技术介绍

JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。

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

5

JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。

Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。

JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。

JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet 是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点

2.5 css和Js技术简介

2.5.1 Css层叠样式表简介

CSS(Cascading Style Sheet,可译为“层叠样式表”或“级联样式表”)是一组格式设置规则,用于控制Web页面的外观。通过使用CSS样式设置页面的格式,可将页面的内容与表现形式分离。页面内容存放在HTML文档中,而用于定义表现形式的CSS规则则存放在另一个文件中或HTML文档的某一部分,通常为文件头部分。将内容与表现形式分离,不仅可使维护站点的外观更加容易,而且还可以使HTML文档代码更加简练,缩短浏览器的加载时间。

层叠样式表解决了一个普遍的问题:HTML 标签原本被设计为用于定义文档内容。通过使用

、 这样的标签,HTML 的初衷是表达“这是标题”、“这是段落”、“这是表格”之类的信息。同时文档布局由浏览器来完成,而不使用任何的格式化标签。

由于两种主要的浏览器(Netscape 和 Internet Explorer)不断地将新的 HTML 标签和属性(比如字体标签和颜色属性)添加到 HTML 规范中,创建文档

6

内容清晰地独立于文档表现层的站点变得越来越困难。为了解决这个问题,万维网联盟(W3C),这个非营利的标准化联盟,肩负起了 HTML 标准化的使命,并在 HTML 4.0 之外创造出样式(Style)。目前所有的主流浏览器均支持层叠样式表。

层叠样式表的特点有:便于页面的修改、便于页面风格的统一、减少网页的体积。层叠样式表极大地提高了工作效率,样式表定义如何显示 HTML 元素,就像 HTML 3.2 的字体标签和颜色属性所起的作用那样。样式通常保存在外部的 .css 文件中。通过仅仅编辑一个简单的 CSS 文档,外部样式表使你有能力同时改变站点中所有页面的布局和外观。

由于允许同时控制多重页面的样式和布局,CSS 可以称得上 WEB 设计领域的一个突破。作为网站开发者,你能够为每个 HTML 元素定义样式,并将之应用于你希望的任意多的页面中。如需进行全局的更新,只需简单地改变样式,然后网站中的所有元素均会自动地更新。 2.5.2 JS技术简介

JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。它最初由网景公司的Brendan Eich设计,是一种动态、弱类型、基于原型的语言,内置支持类。JavaScript是Sun公司的注册商标。[1] Ecma国际以JavaScript为基础制定了ECMAScript标准。JavaScript也可以用于其他场合,如服务器端编程。完整的JavaScript实现包含三个部分:ECMAScript,文档对象模型,字节顺序记号。

Netscape公司在最初将其脚本语言命名为LiveScript来Netscape在与Sun合作之后将其改名为JavaScript。JavaScript最初受Java启发而开始设计的,目的之一就是“看上去像Java”[2],因此语法上有类似之处,一些名称和命名规范也借自Java。但JavaScript的主要设计原则源自Self和Scheme[3].JavaScript与Java名称上的近似,是当时网景为了营销考虑与Sun公司达成协议的结果。为了取得技术优势,微软推出了JScript来迎战JavaScript的脚本语言。为了互用性,Ecma国际(前身为欧洲计算机制造商协会)创建了ECMA-262标准(ECMAScript)。现在两者都属于ECMAScript的实现。尽管JavaScript作为给非程序人员的脚本语言,而非作为给程序人员的编程语

7

言来推广和宣传,但是JavaScript具有非常丰富的特性。

它的特点是:能够具有交互性,能够包含更多活跃的元素,就有必要在网页中嵌入其它的技术。如:Javascript、VBScript、Document Object Model(DOM,文档对象模型)、Layers和 Cascading Style Sheets(CSS,层叠样式表),这里主要讲Javascript。那么Javascript是什么?Javascript就是适应动态网页制作的需要而诞生的一种新的编程语言,如今越来越广泛地使用于Internet网页制作上。 Javascript是由 Netscape公司开发的一种脚本语言(scripting language),或者称为描述语言。在HTML基础上,使用Javascript可以开发交互式Web网页。Javascript的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的内容。 运行用Javascript编写的程序需要能支持Javascript语言的浏览器。Netscape公司 Navigator 3.0以上版本的浏览器都能支持 Javascript程序,微软公司 Internet Explorer 3.0以上版本的浏览器基本上支持Javascript。微软公司还有自己开发的Javascript,称为JScript。 Javascript和Jscript基本上是相同的,只是在一些细节上有出入。 Javascript短小精悍, 又是在客户机上执行的,大大提高了网页的浏览速度和交互能力。 同时它又是专门为制作Web网页而量身定做的一种简单的编程语言。

JavaScript 使网页增加互动性。JavaScript 使有规律地重复的HTML文段简化,减少下载时间。JavaScript 能及时响应用户的操作,对提交表单做即时的检查,无需浪费时间交由 CGI 验证。JavaScript 的特点是无穷无尽的,只要你有创意。

8

3 需求分析

3.1 用户需求分析

电力行业是国民经济的基础产业,是人们日常生活的基础,保证持续、高效的电力供应是关系到国计民生的大事,而电费的收取则是电力部门日常工作中的重点之一,如何保证高效、准确是电力部门工作所关注的焦点。

针对电力行业的背景和收费的需求,本项目的设计思想是对每个用户的用户信息、用电信息等等进行统一管理与维护,利用本系统可以实现用电部门网上收取电费,既方便了广大的用户,同时也方便了对供电工作进行管理的工作人员。使电费之收取方式操作简便、对用户进行统一和整体化的管理。协助电费征收管理部门对用电客户基础信息(电费价格设置);抄表(抄表读数输入);收费管理(交费录入、收费查询、统计报表)等进行全面管理。 总结用户需求如下:

1)针对普通用户电价和工业用户电价的不同,实现普通用户和工业用户的

有区别收费,区别存储电费信息;

2)针对电力部门的日常工作,强化后台的管理功能,实现后台对不同用户统一管理和操作;

3)针对用电用户交费,提供便利,设计了用户网上缴费模块,实现了用户的网银功能;

4)针对用电部门的管理,本系统前台不设置用户注册模块,但是提供用户对初始密码进行修改。

3.2 功能需求分析

本系统是严格按照国家供电公司农电工作部制定的《农村用电管理办法》而开发设计的一个多功能的收费管理系统。根据用电部门的具体业务需求可以确定本系统需要实现的功能包括以下九项 :普通用户收费、 工业用户收费、电度录入、条件查询汇总、查询数据、打印单据、用户户头管理、参数维护、系统管理。

9

根据用户特定的需求进行分析,特总结需要实现的功能如下: 1)前台针对用户要实现的功能: a、用户安全登录;

b、用户信息显示及初始密码修改; c、用户网银信息显示; d、用户交费; 2)后台要实现的功能: a、用户信息管理; b、用户电量录入及汇总; c、管理员信息管理; d、用户网银信息管理; e、管理员安全登录与退出;

3.3 系统可行性分析

1)硬件、软件上的可行性:目前市场上的计算机软硬件资源都可以满足系统开发的要求。其中运用的主要软件有MyEclipse、Tomcat服务器等,数据库采用MYSQL数据库。

2)JSP技术:该技术目前已经十分成熟,功能强大,扩展性好。JSP在网站开发上是个非常理想的技术工具。

3)维护操作:工作方便,后台操作方便明了,操作人员可以在短时间内完全掌握维护技术。

10

4 系统概要设计

4.1功能实现

1) 用户开户

管理员通过后台模块登陆对有需求的用户进行开户操作,开户信息包括:自动生成编号、姓名、性别、电话号码、用户地址、开户日期。 2) 用电用户查询

操作用户通过用户名,密码登陆验证,跳转到前台操作页面,点击相关按钮查询用电用户信息。成功后会按照规范格式在页面输出相关查询信息。 3) 用电用户查询

操作用户通过用户名,密码登陆验证,跳转到前台操作页面,分为普通用户和工业用户两种用户进行缴费,交费后提示缴费成功。 4) 管理员添加,查询,删除操作用户

管理员通过用户名,密码登陆验证,跳转到后台操作页面,进行添加、查询、和删除操作用户,对普通用户和工业用户进行管理。 5) 管理员进行电费录入

管理员通过用户名,密码登陆验证,跳转到后台操作页面,进行电度的录入。 6) 管理员进行报表的打印

管理员通过用户名,密码登陆验证,跳转到后台操作页面,点击相关按钮进行操作。成功后会做出提示或者按规范格式输出。报表信息包括:用户编号、姓名、性别、电话号码、用户地址、缴费金额、用电度数、余额、电费征缴日期。

11

4.2.电力收费系统各个模块设计

4.2.1电力收费系统总体功能模块结构图

根据之前做的系统概要分析,可以得出本系统前台后台所有功能模块分布情况,具体分布情况一结构图给出:如图4.1所示:

电力收费系统 前台模块设计 后台模块设计 用户登录 及密码修改 用户网银信息管理 工业用户查询及交费 普通用户查询及交费 管理员登录 添加查询和删除管理员 添加查询和删除工业用户 添加查询和删除普通用户 用户网银信息管理 当月的电度录入

图4.2电力收费系统功能模块结构图

12

4.2.2 前台模块结构图

由于前台模块主要是针对用户操作,进行相关信息查询,特规划前台功能如图4.2所示:

登陆 所有用户 前台页面 工业用户当月电费信息查询 显示 退出 成功 普通用户当月电费信息查询 工业用户进行交费 普通用户进行交费

图 4.2 前台模块结构图

4.2.3 后台模块结构图

由于后台模块主要是针对管理员操作,进行数据库相关操作,特规划后台功能如图4.2所示:

登录 操作管理用户员 后台首页 查询用电用户及缴费记录 查询 操作用户管理 用电用户管理 删除用电用户及缴费记录 删除 添加操作用户 添加 显示 查询操作用户 查询 显示 删除操作用户 删除

13

图 4.3 后台模块结构图

4.3功能实现流程图

4.3.1 添加用户功能流程图

后台功能很多,下面主要简介一下用户添加模块的流程图如图4.4所示:

图 4.4 添加用户流程图

14

4.3.2 登录模块功能流程图

前台主要针对用户操作,登录模块是主要实现的一块,只有登录用户才有权做其他相关的操作,登录模块的流程图设计如图4.5所示:

图4.5用户登录流程图

15

字段名 AName AId APassword 数据类型 varchar bigint varchar 数据长度 20 20 10 是否为空 否 否 否 条件 Key P_K 2)Users(用户信息表)

表Users用于保存用户基本信息,该表的结构如表5.3所示:

表 5.3 用户信息表

字段名 UName UId USex UClass UAdress UTele UDate

数据类型 Varchar Bigint Varchar Varchar Varchar Bigint Date 数据长度 20 20 2 20 20 20 是否为空 否 否 否 否 否 否 否 条件 男/女 Key P_K

CUD(普通用户电度信息表)

表CUD用于保存用户电度电费信息,该表的结构如表5.4所示:

表 5.4 普通用户电度信息表

字段名 CId UId CPrice CDegree Money

数据类型 Int Bigint Float Float Float 数据长度 11 20 10 10 10 是否为空 否 否 否 否 否 条件 Key P_K F-K

21

IUD(工业用户电度信息表)

表IUD用于保存用户电度电费信息,该表的结构如表5.5所示:

表 5.5 工业用户电度信息表 字段名 IId UId IPrice IDegree Money

数据类型 Int Bigint Float Float Float 数据长度 11 20 10 10 10 是否为空 否 否 否 否 否 条件 Key P_K F-K Charge(缴费信息表)

表Charge用于保存所有用户的缴费记录,该表的结构如表5.6所示:

表 5.6 已发短信信息表

字段名 CId UId Date Money

数据类型 Int Bigint Date Float 数据长度 11 20 10 是否为空 否 否 否 否 条件 Key P-K F-K F-K Money(用户网银信息表)

表Money用来保存用户的网银账户信息,该表的结构如表5.7所示

表5.7 用户网银信息表 字段名 MId UId MMoney RMoney 数据类型 Int Bigint Float Float 数据长度 11 20 10 10 是否为空 否 否 否 否 条件 Key P-K F-K 22

5.4 数据库物理结构实现

本系统中主要创建了一个公共类:ConnDao类,位置在cn.com.fit.db这个包中。其中,ConnClass类主要用来连接mysql 数据库。下边主要对这个类进行介绍。主要代码如下:

package cn.com.fit.db; import java.sql.*;

public class ConnDao {

private static final String DRIVER = \

private static final String URL = \ private static final String DBUSER = \

private static final String DBPASSWORD = \ static Connection conn = null; /**

* 进行数据库连接

* @throws ClassNotFoundException * @throws SQLException */

public static Connection getConnection() throws ClassNotFoundException, SQLException { Class.forName(DRIVER); Connection

conn=DriverManager.getConnection(URL,DBUSER,DBPASSWORD); return conn; } /**

* 关闭数据库连接

* @throws SQLException * */

public void closeDB(Connection conn,PreparedStatement psm,ResultSet rs) throws SQLException { if (conn!=null)conn.close(); if(psm!=null)psm.close();

23

if (rs!=null)rs.close(); }

public static void main(String[] args) throws ClassNotFoundException, SQLException { Connection conn; try{ conn=getConnection(); System.out.println(\连接成功!\ PreparedStatement ps=conn.prepareStatement(\ System.out.println(\准备成功!\ } catch(Exception ex) { System.out.println(\错误啦!\ } } }

24

6 详细设计

6.1 设计方法与结构的简介

本系统在设计时,采用了面向对象的方法和B/S模式进行设计。 6.1.1 面向对象的优点

面向对象围绕现实世界的概念来组织模块,采用对象描述问题空间的实体,用程序代码模拟现实世界中的对象,使程序设计过程更自然、更直观。 面向过程是以功能为中心来描述系统,而面向对象是以数据为中心来描述系统。相对于功能而言,数据具有更强的稳定性。

面向对象模拟了对象之间的通信。就像人们之间互通信息一样,对象之间也可以通过消息进行通信。这样,我们不必知道一个对象是怎样实现其行为的,只需通过对象提供的接口进行通信并使用对象所具有的行为功能。

面向对象把一个复杂的问题分解成多个能够完成独立功能的对象(类),然后把这些对象组合起来去完成这个复杂的问题。采用面向对象模式就像在流水线上工作,我们最终只需将多个零部件(已设计好的对象)按照一定关系组合成一个完整的系统。这样使得软件开发更有效率。 6.1.2 B/S模式

B/S(浏览器/服务器)是由浏览器、Web服务器、应用服务器和数据库服务器组成的多层结构体系。B/S模式具有以下特点:

(1) 用户界面简单易用。用户使用单一的浏览器软件,通过鼠标即可访问文本、图像、声音、电影及数据库等信息,特别适合非计算机人员使用。

(2) 易于维护与升级。由于客户端无需专用的软件,所以,系统的维护和升级工作简单。

(3) 具有良好的开放性。浏览器/服务器结构采用标准的TCP/IP、HTTP协议,能够与遵循这些标准协议的信息系统及其网络很好的结合,具有良好的开放性,保护了用户的投资。

(4) 信息共享度高。HTML是数据格式的一种开放标准,目前信息系统中大多数流行的软件均支持HTML。

25

(5) 扩展性好。TCP/IP、HTTP的标准性使得浏览器/服务器结构可直接接入Internet,具有良好的扩展性。

(6) 网络适应性强。无论是PSTN、DDN、帧中继、X.25、ISDN、还是CATV、ADSL,浏览器/服务器结构均能适应。

(7) 安全性好。防火墙技术保证了浏览器/服务器结构的安全性。

6.2 页面设计及代码实现

由于本系统针对用户实现功能在于当月电费查收和用户网银信息查看,故从后台功能模块开始介绍,方便演示从给用户上户、当月电费录入到用户交费的整个流程,代码实现部分仅解释说明怎样实现,具体代码详情见源程序。 6.2.1 后台功能模块实现 后台登录模块代码实现:

构建一个Admin实体,打包在cn.com.fit.Bean中,用来实例化一个admin的对象;写一个继承HttpServlet的AdminServlet类:public class AdminServlet extends HttpServlet;这个AdminServlet类中含有方法:public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException和public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException;建立映射后通过AdminServlet类中的dopost方法获取从前台页面传过来的管理员名和密码;然后调用public class AdminDao extends ConnDao里的方法public boolean checkAdminExist(String AdminName,String APassword) throws SQLException连接数据库进行匹配判断,看是否正确,正确就登录,页面跳转到后台主页面;见图6.1和图6.2;

26

图 6.1 管理员登录页面

图 6.2 管理员登录成功后跳转到后台主页面

在登录页面上,当用户名或密码为空时,会有友好的提示框弹出;实现本效果是在jsp页面上使用了所写的javascript脚本:Ext.onReady(function(){....}),效果截图见图7.3—图7.4:

图 6.3 管理员登录效果截图

27

图 6.4 管理员登录效果截图

后台主页面的实现及效果截图:

后台用到了Html中的frameset标签来设置整个页面的框架,整体上分为三个部分:top,bottom,和中间部分,其中中间部分有划分为左右两个小部分,每部分对应的都是独立的jsp页面,见上图7.2;以下截图均为页面部分截图主要显示功能模块。下图7.5是使用js特效做的左部的可收缩的菜单栏,从中可以看到后台所要实现的功能模块:

图 6.5 JS特效做的后台功能列表

28

普通用户管理及工业用户管理模块代码实现及效果截图:

由于两种用户管理模块的实现的基本功能相同,下面主要介绍普通用户管理模块的代码实现,在下面的模块中均使用到cn.com.fit.Bean包中的Users实体实例化的对象。

普通用户管理模块主要实现三种不同的功能: 1、普通用户列表显示,代码实现如下:

在子页面usersList.jsp上导入cn.com.fit.bean.*,cn.com.fit.dao.*这两个包,页面内嵌java语句:

<% UsersDao ud = new UsersDao();

List list = ud.showUserList(); for (Users u : list) {

if(u.getUClass().equals(\普通用户\

%>

<%=u.getUName()%>

...//调用AdminDao中的方法public List showUsersList()将sql语句:\的执行结果进行用户类别判断后显示在子页面上,效果见图6.6所示 <% } }%>

图 6.6 普通用户列表

29

2、添加普通用户,代码实现如下:

通过cn.com.fit.Servlet中的UpdateUserServlet类建立起与子页面insertone.jsp的映射,在子页面的Form表单中设置action为

UpdateUserServlet,来获取页面传来的所要添加的用户的相关信息,然后再调

用UsersDao中的public boolean insertUsers(Users u)方法,在这个方法中会执行Sql语句:\,问号为接收页面所传的用户信息;成功后返回true到UpdateUserServlet,然后让页面跳转到普通用户列

表显示添加效果;如图6.6和图6.7所示:

图 6.7 添加用户模块

3、删除普通用户,代码实现如下:

通过cn.com.fit.Servlet中的DeleteUserServlet类建立起与子页面deleteone.jsp的映射,在子页面的Form表单中设置action为

DeleteUserServlet,来获取页面传来的所要删除的用户的用户名,判断用户的

类别UClass,然后调用cn.com.fit.Dao包中的usersDao中的方法public boolean isHavingUsersName(String UName),在这个方法中会执行一个sql语句:“select * from Users where UName=?;”查询数据库中是否有该用户存在,

30

如有则返回True,否则删除不成功;得到true的返回值后,调用usersDao中的方法public boolean delUsersInfo(String UName),执行“delete from Users where UName=?;”返回值为true时删除成功。效果截图如图6.8和图6.9所示:

图 6.8 删除用户模块

图 6.9 删除用户后弹出的全部用户列表

管理员管理模块代码实现及效果截图:

管理员管理模块主要实现三个功能,在三个实现过程中都会用到cn.com.fit.bean中Admin这个实体实例化的对象Admin,具体实现如下: 1、管理员列表的代码实现:

在子页面adminList.jsp上导入cn.com.fit.bean.*,cn.com.fit.dao.*这两个包,页面内嵌java语句:

<% AdminDao ud = new AdminDao();

31

List list = ud.showAdminList(); for (Admin a : list) { %>

<%=a.getUName()%>

...//调用AdminDao中的方法public List showAdminList()将sql语句:\的执行结果进行用户类别判断后显示在子页面上,效果见图6.10所示 <% } %>

图 6.10 管理员信息列表

2、增加管理员模块代码实现:

通过cn.com.fit.Servlet中的UpdateAdminServlet类建立起与子页面inserttwo.jsp的映射,在子页面的Form表单中设置action为

UpdateAdminServlet,来获取页面传来的所要添加的管理员的相关信息,然后再调

用AdminDao中的public boolean addAdmin(Admin a)方法,在这个方法中会执行Sql语句:\,问号为接收页面所传的用户信息;成功后返回true到UpdateAdminServlet,然后让页面跳转到管理员列表显示添加效果;如

图6.11和图6.12所示:

图 6.11 增加管理员模块

32

图 6.12 增加管理员后弹出的新列表

3、删除管理员,代码实现如下:

通过cn.com.fit.Servlet中的DeleteAdminServlet类建立起与子页面deletetwo.jsp的映射,在子页面的Form表单中设置action为

DeleteAdminServlet,来获取页面传来的所要删除的管理员ID,然后调用

cn.com.fit.Dao包中的AdminDao中的方法public boolean

isHavingAdminName(int managerid),在这个方法中会执行一个sql语句:“select * from Admin where AId=?;”查询数据库中是否有该用户存在,如有则返回True,否则删除不成功;得到true的返回值后,调用AdminDao中的方法public boolean deleteAdmin(int AId),执行“delete from Admin where AId=?;”返回值为true时删除成功,然后跳转页面到adminList.jsp这个子页面显示删除成功。效果截图如图6.13和图6.14所示:

图 6.13 根据ID删除管理员模块

图 6.14 删除后的效果列表

33

用户电量录入模块:

1、用户电量录入功能代码实现:

在这部分中会用到cn.com.fit.Bean包中的CID和UID两个实体实例化的对象。通过cn.com.fit.Servlet包中的Luruservlet建立起与子页面luru.Jsp的映射,获取子页面传来的电度信息,进行判断用户类别UClass后,根据类别分别选择cn.com.fit.Dao包中的LuruDao类中的public boolean insertCud(CUD c)对普通用户电量录入,或者是public boolean insertIud(IUD d)对工业用户进行电量的录入;分别执行的Sql语句是“insert into CUD values(null,?,?,?,?)和insert into IUD values(null,?,?,?,?)” 对数据库中CUD和IUD两张表进行更新电度,成功后分别显示普通用户和工业用户的列表,见效果截图6.15和图6.16所示:

图 6.15 用户当月电费录入模块

图 6.16 电费录入后效果截图

34

2、用户电量电费汇总表显示模块:

在这部分中会用到cn.com.fit.Bean包中的CommonUser和IndustryUser两个

实体实例化的对象,然后分别在degreeListOne.jsp和degreeListTwo.jsp两个子页面上调用LuruDao.java中的两个方法:public List showCommonDegreeList()和 public List showIndustryDegreeList(),具体实现如下:

普通用户:<% LuruDao ld = new LuruDao();

List list = ld.showCommonDegreeList(); for (CommonUser c : list) { %>

<%=a.getUName()%>

...//调用LuruDao 中的方法public List showCommonDegreeList()

sql

\

UName,Users.UId,UClass,CPrice,CDegree,Money from Users,CUD where CUD.UId=Users.UId;\的执行结果进行用户类别判断后显示在子页面上,效果见图6.17所示<% } %>

//工业用户实现方法与普通用户方法相同,故只介绍普通用户详情见源程序。

图 6.17 普通用户和工业电量汇总表格模块

35

本文来源:https://www.bwwdw.com/article/fya6.html

Top