摘  要


随着科技发展和社会进步,尤其是计算机大范围的普及,计算机应用逐渐由海量数据处理转向大规模的事务处理和对工作流的管理,这就产生了以台式计算机为核心,以数据库管理系统为开发环境的管理信息系统,以及在大规模的事务处理和对工作流的管理等方面的应用。本论文开发的沃隆税务管家管理系统能够使未来的税务管理更加规范化、合理化。能够有效的快速记录大量的税务的信息,并能对其进行修改使用户能够运用简便的方法快速查询到他们所需要的税务信息,实现了由传统的手工化向信息化的转变。

本设计基于B/S结构,采用JSP程序设计语言及MySQL数据库进行开发,实现了一个基于J2EE的沃隆税务管家管理系统。论文首先阐述了基于J2EE的沃隆税务管家管理系统的开发背景,并对该系统进行了较详细的需求分析;然后探讨了该系统需要实现的功能,最后论文介绍了在系统测试与分析过程中,该系统表现出了运行稳定、可靠和实用等特性,该系统具有较好的实用价值。


关键词:沃隆税务管家管理系统;B/S;MySQL;J2EE;







ABSTRACT


With the development of science and technology and social progress, especially the large range of popularization of computer, computer application gradually from the mass data processing to large-scale transaction processing and workflow management, which produced a desktop computer as the core, the management information system with database management system for the development environment, as well as their application in large-scale transaction processing and the workflow management etc.. Wolong tax manager management system developed in this thesis can make tax future management more standardized, rationalized. To quickly record effective information a lot of tax, and to modify the user can use the simple method for fast query needs to them for the tax information, achieved by traditional manual changes to the information.

The design is based on B/S structure, using JSP programming language and MySQL database development, has realized one based on the Wolong tax manager management system J2EE. The paper firstly explains the Wolong tax manager management system J2EE based on the development background of the system, and analyzes in detail the requirements; and then discusses the system needs to realize the function, finally the paper introduces the test and analysis system in the process, the system shows stable operation, reliable and practical characteristics, the system has good practical value.



Key words:The design and implementation of management system Taxi Company;B/S; MySQL;J2EE


目  录


第一章 绪论

1.1 研究背景

1.2 研究意义

1.3 主要研究内容 2

1.4 本章小结 2

第二章 开发环境与相关技术

2.1 JSP技术

2.2 MyEclipse介绍

2.3 MySQL数据库

2.4 B/S结构介绍 5

2.5 本章小节 5

第三章 需求分析及设计 6

3.1 预期目标 6

3.2 需求分析 6

3.3 可行性分析 9

3.4 性能需求 10

3.5可靠行和可用性需求 11

3.6出错处理要求 11

3.7接口需求 11

3.8 系统操作系统选择 11

3.9 数据库设计 11

3.10 本章小结 17

第四章 系统实现

4.1 SSH2配置

4.2 MVC设计模式 20

4.3 本章小结 30

第五章 系统测试 31

5.1 测试目的与目标 31

5.2 测试方法 31

5.3实际模块测试 31

5.4本章小结 34

第六章 结论 35



第一章   绪论

1.1 研究背景

21世纪是计算机科学技术得到了显著的发展和进步的时代。现如今电脑已经走向了千家万户。目前大到国际公司,小到私人作坊都已经开始使用计算机技术协助日常的工作管理,计算机技术的应用已经深入到各个企业管理的各个方面。随着我国现代化建设的不断快速发展,我国的税收制度也越来越完善。税收管理系统应运而生,该系统的开发就是为了满足税务管理行业各个环节的管理,帮助管理人员更好的进行日常的工作管理。本设计就是从对税务信息化管理出发而开始进行设计的。

很久很久以前,我国就有了税收制度,随着近些年各种制度的完善,经济的不断发展,税务管理越来越大。规模一旦扩大许多细节性问题也随之放大,日常的管理工作显得尤其重要。传统模式中依靠人力进行纸质记载的模式已经无法跟上时代需求,即将被淘汰。而此时软件业得到了飞速发展,税务管理信息系统也相应的越来越多,功能也越来越健全完善。适者生存,没有一个管理者会接受这被时代所淘汰的命运。信息化管理系统让他们看到了希望。面对行业残酷的竞争,税务管理者想要在脱颖而出必须依靠可靠而有效的管理模式,这样才能更好的管理员工,服务客户,进一步提升自我的综合竞争能力。

1.2 主要研究内容 

本文主要设计开发一个基于J2EE的沃隆税务管家管理系统。系统是基于B/S结构的,在开发中使用到了JSP编程技术和 MySQL 数据库管理系统,并选用 MyEclipse为开发工具。论文首先进行了需求分析,指出了系统需要解决的问题和需要实现的功能。然后,论文详细介绍了数据库的设计,编码的实施;其次,论文讨论了系统测试。通过测试及时的发现了系统的一些问题,排除了的错误,并发现了一些不足等;最后,论文对本次设计进行了小结,总结了设计过程中遇到的问题和收获。

1.3本章小结

第一章主要是介绍此次论文的研究背景、研究意义、研究内容。从研究背景,意义出发阐述了沃隆税务管家管理系统是因运而生的,是必不可少的。




第二章开发环境与相关技术

沃隆税务管家管理系统是在JSP编程技术和MySQL数据库管理系统的基础上完成开发的。在开发过程中,论文选择MyEclipse开发工具以及SSH2框架进行系统设计与开发,完成了基于B/S结构的系统。

2.1 JSP技术

2.1.1JAVA技术简介

Java语言自从1996年正式发布。目前已经成长为IT领域必不可少的主流编程语言。Java起源于Sun公司的“Green”项目。1999年,Sun公司吧Java2技术分成了J2SE,J2EE和J2ME。其中J2E为分布式的企业应用提供开发和运行环境。进入21世纪以后,J2EE由于固有的良好的线性和可扩展性,逐渐成为各大开发商青睐的对象。Java 语言中具有面向对象的优势、 安全、 跨平台、 直接支持分布式的网络中的应用、 鲁棒性、 效率等. Java语言是非常简单且高效的,它使编程时间缩短,却使功能增强,让编程人员接手起来也更加简单,方便。Java语言就像万花筒一样,随意只是几个普通碎片组成起来,但是只要你发挥想象轻轻摇一摇,就会变换出千万种不同的花色。[1]

2.1.2 JSP技术简介

互联网已经发展成为Web应用程序中,如电子商务,电子政务,应用系统的基础设施。基于 Web 的应用程序称为浏览器 / 服务器模式,即 B / S 模式。开发Web应用程序,传统的HTML不能满足要求,需要一些语言来处理用户请求。目前,生成动态网页的方法有CGI、ASP.NET、PHP和JSP。其中JSP是基于Java的。 JSP是Java Server Page的缩写。JSP用来创建动态Web应用程序的快捷方式,并继承了Java “一次编写,到处运行”的特点。[2]JSP具有以下特点:

1. 将内容的生成和显示进行分离

2. 强调可重用的组件

3. 采用标识简化页面开发

4. 健壮性与安全性

5. 良好的移植性

6. 企业级的扩展性和性能

2.1.3 SSH2简介

SSH2(Struts2+Spring+Hibernate)是J2EE的最新流行框架。

Spring是一个开源框架,它由Rod Johnson创建。企业性应用的开发是十分复杂。开发周期长而且开发难度十分大。为了解决这些问题,Rod Johnson创建了Spring框架。从前只能由EJB完成的事情,现在Spring需要使用JacaBean就可以了。从简单性、可测试性和松耦合的来说,所有Java应用都可以使用Spring框架中来开发。而不止是用来开发服务器端而已。[3]

Hibernate是一个开放源代码的对象关系映射框架,Java程序员可以使用它自己的编程思想来操纵数据库。在任何需要使用JDBC的场合下Hibernate都可以完美胜任。程序员不仅可以在Java的客户端程序中运用Hibernate,也可以在Servlet/JSP的Web应用中运用,最革命的是,Hibernate可以替换在CMP完成数据持久化的重任。[4]

Struts2框架是以WebWork基础上发展起来的。从某种意义上来说,Struts2不是Struts1的继承。应该认为是WebWork衍生出了Struts2,因为Struts2是在WebWork的基础上进行了升级,并不是一个独立创造的全新框架。正因此Struts2在稳定性、性能等各方面都可以得到。很好的保证:Struts2是结合了 Struts 1和WebWork两者的优势创造出来的。[5]它是一个十分令人期待的框架。SSH2框架结构如图2-1所示。

基于jsp沃隆税务管家管理系统的计算机毕设_管理系统

图2-1 SSH2框架结构图


2.2 MyEclipse介绍

MyEclipse 达到了企业工作台水平 ,是 EclipseIDE 扩展,用户可以用它来大大提高效率的数据库和 JavaEE 开发、 释放、 和应用程序服务器的集成。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSP, CSS, Javascript, Spring,SQL,Hibernate。MyEclipse 是适合用来开发Java, J2EE的 Eclipse 插件集合。MyEclipse的功能特别强大,支持面广泛,特别是对各种开放源产品的支持效果很是不错。MyEclipse目前支持Java Servlet,AJAX, JSP, JSF, Struts,Spring, Hibernate, EJB3,JDBC数据库链接工具等多项功能。

在结构上,MyEclipse的特征可以被分为7类:

1. J2EE模型

2. WEB开发工具

3. EJB开发工具

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

5. J2EE项目部署服务

6. 数据库服务

7. MyEclipse整合帮助

以上所有功能,在Eclipse中都可以找到对应功能部件。这些功能的实现是利用一系列的插件。MyEclipse的结构上是模块化的,这样可以在不影响其他模块在任何单个模块扩展和升级。简单来说, MyEclipse的是Eclipse插件, J2EE的集成,支持代码编写,配置,测试和调试功能强大的开发环境。[6]

2.3 MySQL数据库

MySQL是一个开发性的关系型数据库管理系统。 它将数据存储在不同的表,并不是简单的将所有数据都放在一个大型的仓库。它是可以提高数据读取的速度和灵活性的 RDBMS。[7] MySQL的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件拥有社区版和商业版两大版本。因为MySQL体积小、速度快、总成本低,尤其是开放源码这一特点,所以得到了大小型网站开发者的青睐,他们都十分愿意选择MySQL作为数据库。[8]一般对于个人使用者来说MySQL的功能已经十分全面了。在多次比较了Oracle、DB2、SQL server之后,本论文还是选择了MySQL作为沃隆税务管家管理系统的数据库。

2.4 B/S结构介绍

B/S结构就是只安装和维护一个服务器,客户端是利用浏览器来运行软件。随着 Internet技术的兴起和发展。C/S结构已经无法满足人们的要求。于是人们开始变换的C / S,这产生了B / S结构。B/S比C/S的维护工作量大大减少了。[9]C/S结构的每个客户端都必须安装和配置软件。B/S能够降低总体拥有成本。随着计算机技术的发展,目前大多数科技公司都不约而同的对数据提出了实时性、一致性和安全性等这些要求。传统类型C/S结构根本达不到这些要求,迫切的需要做出改变。但是B/S结构则不同,它可以清楚正确的看到系统正在处理的业务,这样有利于管理人员快速的做出决策,有效地避免了企业经济上的亏损。B / S结构的软件,因为在数据集中在数据库服务器,客户端不持有任何业务数据和数据库连接信息,也无需进行数据同步,所以安全性可以大大提高。B/S结构中的数据采取了集中式管理模式。当客户端的业务产生数据时,这些数据都直接被存入中央数据库。这样的做法避免了数据一致性的问题。这些优点很好更好的迎合了人们的需要。[10]

以当下技术水平来说,利用B/S结构来开发网络应用,并通过Internet/Intranet模式下数据库应用,是容易把握的而且成本也是比较低的。这样的开发模式实现了不同的人,从不同的地点,不同的接入方式访问和操作共同的数据库;它可以有效地保护和管理数据访问平台,服务器数据库也是非常安全的。尤其是在这样一种跨平台语言 JAVA 之后出现,B/S 体系结构管理软件是更方便、 更快捷、 更高效。

2.5 本章小结

第二章主要介绍了沃隆税务管家管理系统开发时期所选择的开发工具。对这些优秀的开发语言和开发环境进行了介绍,并详细说明为什么选择它们,它们的适用性体现在哪里。



第三章需求分析及设计

在软件设计与开发过程中,需求分析是必不可少的。当接到一个系统开发任务时,不应该直接进行开发工作,而是应该先对所需要开发的系统进行一番了解。开发人员需要知道这个系统将来是要干什么的,为什么样的人群服务。从这些入手一步一步了解系统,才能明确系统所需要的功能。这样,开发人员便可以找到开发的方向。把握住开发方向,才能设计出人性化的系统,而不是那些粗制乱造不切和实际的系统。

3.1 预期目标

通过对我国税务管理制度的调研,本论文发现税务管理机构内部的税收管理和其他的很多管理分工不规范,制度的不完善,统计经常被发现是不准确的,不合时宜等等许多管理上的问题。这样日积月累下去,会成为税务管理发展障碍。

任何一个系统都有其自己的目标,它是系统进行各项活动的指南。对于这个系统,本论文的预期目标是,内部管理人员使用本系统之后,可以对税务进行更好的管理,普通用户使用这个系统可以使报税更加方便及时准确。

3.2 需求分析

3.2.1 系统功能详细说明

基于J2EE的沃隆税务管家管理系统主要服务人群是管理层人员和底层的普通用户。

系统主要功能有:

用户模块:用户管理维护。

纳税人申报模块:需要由纳税人填写申报信息并提交给系统。

申报业务处理模块:税务人员会对纳税人员填写的信息进行核实。

税法管理查询 :相关税法的查询。

发票查验: 按提示输入发票代码、发票号码、发票密码等信息,即可查验全国各地国税/地税发票真伪。

系统功能模块如图3-1所示。

基于jsp沃隆税务管家管理系统的计算机毕设_MySQL_02

图3-1  系统功能模块图


3.3 可行性分析

系统的可行性分析可以从经济可行性、技术可行性、管理可行性等几个方面进行可行性分析。

3.3.1 经济可行性

整个系统尚未运行之前,需要一笔投资,花费相对而言比较多。其中我们需要配置一些电脑、还有服务器及相关的网络设备。一旦整个系统投入运行之后,相关的成本便可以大大的减少。

3.3.2 技术可行性

技术可行性分析,考虑使用的硬件和软件技术,旨在满足用户的要求(如计算机的容量,速度等) 。此外,该系统并不难,涉及的是有限的机构,如中小型企业或人才服务中心,这样的技术能力已经达到了系统的开发。

3.3.3 管理可行性

从管理的角度来分析系统的可行性来讲,作为一个系统,必须有系统的管理员来对系统的一些基础数据进行管理。从系统的维护角度来可以,必须有专门的维护人员来对系统进行维护。

3.3.4 操作可行性

沃隆税务管家管理系统操作简单易懂,对于操作人员而言只需要学习简单的电脑操作即可熟练使用本系统。

3.3.5 法律可行性

沃隆税务管家管理系统以个人为单位,仅供个人所用,没有侵犯任何版权,也没有违反国家相关法律法规及相关方面的规定,与业界有关规定也无矛盾之处,所以法律方面可行。

3.4性能需求

沃隆税务管家管理系统必须实现可以安全、稳定、可靠、高效、长期的运行。所以新月沃隆税务管家管理系统应满足以下几个性能需求。

3.4.1 系统处理的精确性和准时性

系统处理的精确性和准时性是沃隆税务管家管理系统的必要性能。在系统设计和开发过程中,应当充分的考虑到系统当下和将来可能承载的工作量。开发完成的系统在处理能力和响应时间性能方便必须要满足公司对信息处理的需求。

3.4.2 系统的开放性和系统的可扩展性

在开发过程中,应该充分考虑系统投入使用以后的可扩充性。比如说查询功能可以需要完善或者可以实现更多信息的查询下。所有这些都需要系统提供调整和扩大的适当手段为了实现这一目标,应通过系统的开放性来完成,两个系统应该是一个开放的系统,只要符合一定的规格,只需加入和减少系统的模块,配置系统上的硬件。

3.4.3 系统的易用性和易维护性

新月沃隆税务管家管理系统服务的人群往往并不会深入了解计算机技术,他们大多数只掌握了基本电脑操作技术。所以系统需要提供良好的用户接口,简单易懂的人机交互界面。要实现这一目标,它要求该系统应能使用的用户界面熟悉术语和中文信息 ;当用户在进行一些操作时应给出相应的提示。比如某些数据删除后不能恢复,这时在删除操作前必须提示用户警惕操作。

3.4.4 系统的标准性

系统在设计与开发使用过程中肯定要涉及到很多计算机软硬件。系统必须符合相应的标准。

3.4.5 系统的先进性

目前计算机技术发展的相当迅速,在沃隆税务管家管理系统的生命周期中尽量保障系统的先进,可以胜任公司信息处理的要求而不至于提前被淘汰。系统开发时所考虑的可扩展性便可以发挥作用,利用这点可以对系统进行升级和完善从而延长系统的使用寿命。在系统开发时,应选用当下流行且先进的开发工具这样才能开发出先进的系统。

3.4.6 系统的响应速度

新月沃隆税务管家管理系统系统对日常处理中的响应速度要求十分苛刻。为了不耽误公司正常运行,系统必须做到不会因为速度问题而影响工作效率。如果一个简单的查询工作需要数小时才能完成,那么制作这个系统就会失去意义。

3.5可靠行和可用性需求

系统可用并且在一个月内不能出现2次以上故障。

3.6出错处理要求

系统出错以后必须给出相应错误信息,同时提醒用户采取相应操作手段来解决故障。

在使用本系统时可能出现如下系统故障:

1.当系统提示输入用户名密码错误则说明需要检查输入的用户名密码的正确性。

2.当管理员进行操作时,未明确需要进行操作的目标:说明未选中需要进行操作的数据,应该做出提示

3.当用户操作可能导致不可恢复的损失应给出警告。

3.7接口需求

第一,硬件接口方面主要日常所用的移动硬盘与U盘,基本没有其他与外界硬件的联系。

第二,软件接口方面主要是考虑到软件与操作系统的接口,考虑到文档处理的需求可能包括办公软件和常用接口。例如Microsoft的office系列。软件界面和用户和用户需求,这些应该明确在用户需求定义。

3.8 系统操作系统选择

本论文选择Windows 7操作系统。系统运行时,服务器端配置需要选择CPU Pentium以上,内存;操作平台为Windows NT4.0 Server ,数据库系统为MYSQL;客户端配置选择主机,内存4G;操作平台。

3.9 数据库设计

3.9.1 数据库需求分析

用户要求主要体现在业务方面的各种操作,包括保存信息、 更新数据和查询条件。这些都要求数据库结构能充分满足大量信息的输出和输入。

3.9.2 数据库表结构

本系统使用的数据库名称为MySql,其中包括5个数据表,t_admin表用于存放管理员信息和操作员信息,sf表用于存放司机信息,sp表用于存放车辆信息,sq表用于存放司机保险信息,yg表用于存放车辆保险信息。


1. t_admin表

t_admin表记录的管理员操作员的基本信息,如用户名、 密码等。t_admin表设置如表3-1所示。

表3-1  t_admin表

序号

列名

数据类型

长度

是否必填

1

id

Int

11

Not null

2

Username

varchar

50

Null

3

password

varchar

50

Null


2.yg表

yg表记录的用户的基本信息,如用户名、 密码、 电子邮件地址、 联系信息,真实姓名,年龄等。yg表设置如表3-2所示。

表3-2 用户表yg

序号

列名

数据类型

长度

是否必填

1

id

Int

11

Not null

2

Username

varchar

50

Null

3

password

varchar

50

Null

4

email

varchar

50

Null

5

realname

varchar

50

Null

6

tel

varchar

50

Null

7

Age

int

11

Null


3. sf表

sf表主要是保存的税法信息,包括标题,内容,时间。sf表设置如表3-3所示。

表3-3  税法表sf

序号

列名

数据类型

长度

是否必填

1

id

Int

11

Not null

2

Names

varchar

50

Null

3

Descs

varchar

50

Null

4

Times

Datetime


Null


4. sp表

sp表保存税票的信息。它记录了税票号,类型,地区,申请人,金额,内容,时间,状态。sp表设置如表3-4所示。

表3-4  税票表 (sp

序号

列名

数据类型

长度

是否必填

1

id

Int

11

Not null

2

No

varchar

50

Null

3

Descs

varchar

50

Null

4

Times

Datetime


Null

5

Dq

varchar

50

Null

6

Dm

varchar

50

Null

7

Password

varchar

50

Null

8

Types

varchar

50

Null


5. sq表

sq表保存税票的信息。它记录了税票号,类型,地区,申请人,金额,内容,时间,状态。sq表设置如表3-5所示。

表3-5  申请表sq

序号

列名

数据类型

长度

是否必填

1

id

Int

11

Not null

2

No

varchar

50

Null

3

Descs

varchar

50

Null

4

Times

Datetime


Null

5

Dq

varchar

50

Null

6

Dm

varchar

50

Null

7

Password

varchar

50

Null

8

Types

varchar

50

Null


3.10 本章小结

本章先对系统进行了需求分析。在需求分析过程中,首先明确了系统的主要服务人群以及系统主要任务。从这两方面逐步开始进行需求分析工作。通过需求分析,论文基本确定了系统的主要功能,为下面数据库设计打下了坚实的基础。在数据库分析阶段,论文给出了详细的数据库配置情况。

第四章 系统实现

4.1 SSH2配置

沃隆税务管家管理系统使用的是SSH2框架。Struts2框架实现了MVC模式,层次结构清晰,程序员只需要注重业务逻辑的实现就可以了,这样一来大大的提高了开发的效率;只要有配置文件,就可以把握住整个系统各个部分之间的关系;Spring框架在没有程序员的情况下就可以自己实现singleton模式。Hibernate框架的可移植性非常好。在开发过程中简洁的HQL语句,减少了JDBC与SQL操作数据库的代码量,使开发难度降低。[14]

所以,SSH2十分适合本系统的开发。在配置SSH2时首先需要创建工程,然后添加struts支持,紧接着进行分包。紧接着添加spring支持和spring配置文件。下面给出具体配置详细分布过程。

第一步,在web.xml文件中配置初始化读取参数(spring的配置文件),代码如下:

<context-param>

  <param-name>contextConfigLocation</param-name>

  <param-value>/WEB-INF/applicationContext.xml</param-value>

  </context-param>

第二步,配置spring监听器,代码如下:


<listener>  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

 </listener>

第三步,在struts-config.xml文件中配置请求处理器,将struts请求委托给spring代理,达到控制反转的目的,代码如下:


<controller processorClass=“

org.springframework.web.struts.DelegatingRequestProcessor">

</controller>

第四步,添加hibernate支持,配置好hibernate以后,在applicationContext.xml文件中会自动生成“数据源”,“sessionFactory”,代码如下:

<bean id="dsid" class="org.apache.commons.dbcp.BasicDataSource">

<!-- 方法注入 -->

<property name="driverClassName"

value="com.microsoft.jdbc.sqlserver.SQLServerDriver">

</property>

<property name="url"

value="jdbc:microsoft:sqlserver://localhost:1433;databaseName=pubs">

</property>

<property name="username" value="sa"></property>

<property name="password" value="sa"></property>

</bean>

<!-- 将hib中的sessionFactory封装 -->

<bean id="sfid"

class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

<!-- 引用实例化好的数据源 -->

<property name="dataSource">

<ref bean="dsid" />

</property>

<property name="hibernateProperties">

<props>

<!-- 设置数据库方言 -->

<prop key="hibernate.dialect">

org.hibernate.dialect.SQLServerDialect

</prop>

<prop key="show_sql">

true

</prop></props></property></bean>

第五步,通过表,反向生成“实体类”,添加配置文件。在当正确添加实体后,appilcationContext.xml文件中会自动添加实体类的映射。详细配置过程如下。

<!-- 将hib中的sessionFactory封装 -->

<bean id="sfid"

class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

<!-- 映射表对象 -->

<property name="mappingResources">

<list>

<value>com/alex/ssh/entity/Root58.hbm.xml</value>

</list>

</property>

</bean>

第六步,完成上面步骤之后需要修改DAO类的位置,修改配置文件属性值。

第七步,添加service类,反转service Class,添加struts部分(添加jsp,form,action)。

第八步,将struts-config.xml文件中action节点的type属性去掉。

第九步,在acpplicationContext.xml文件中代理action类,也是一种控制反转的实现。具体实现操作如下。

<!-- 反转action name属性的取值与struts配置中的path="/root"一致 -->

<bean name="/root" class="com.alex.ssh.action.RootAction" >

<property name="service">

<ref bean="rootService"/>

</property>

</bean>

SSH2的生命周期如图4-1所示。

基于jsp沃隆税务管家管理系统的计算机毕设_管理系统_03

图4-1SSH2生命周期


4.2 MVC设计模式

4.2.1 MVC介绍

MVC的英文全称是Model-View-Controller,就是把一个应用的输入、输出和处理流程按照模型、视图、控制的方式进行分离,这样一个应用就会被分成三个层次——模型层、控制层、视图层。如图4-2为MVC模式的基本分层图。[15]

基于jsp沃隆税务管家管理系统的计算机毕设_MySQL_04

图4-2 MVC  模式基本分层图


视图(View)

视图代表人机交互界面,就是用户可以清楚看到内容,同时可以参与交互的界面。主要功能实现数据的传输和输出功能,然后在相关页面显示出来,这样用户便可以从视图层获取到有用信息。不同的视图利用不同的方法来呈现需要反应给用户的信息每一个视图组件都会有一个更新函数,当模型层发生变化的时候这个函数就会被激活。在这个函数被激活以后视图层就会进行更新操作通过状态查询函数,视图层可以从模型获取数据。 

模型(Model)

模型层的另一个名字是业务逻辑层,它主要用来封装业务逻辑和业务产生的数据。业务逻辑是软件的核心。用户是无法看到业务逻辑层的,业务逻辑层独立于特定输出表示或者输入模式。用户只能利用控制器来控制业务逻辑层。

控制(Controller)

控制层可以理解起到控制整个业务流程的作用,实现View层跟Model层的协同工作。每个视图有一个与之对应的控制器组件。一旦控制器组件接受到某个事件,就会将这个事件翻译成为对模型或者视图的请求。如果控制器的行为取决于模型的状态,那么控制器需要进行变更的时候也需要向模型发出变更请求通知。例如:用户点击确定按钮,确定按钮的事件响应函数将会做出相应的反应来处理用户要求 。

本论文在实现系统时,系统架构使用了MVC设计模式。所以它拥有以下几点优势。

第一,沃隆税务管家管理系统拥有多个视图对应一个模型的能力。这样做可以减少本系统代码量,在进行维护时也减少了工作压力,同时也便于维护。其次,该模型还没有数据显示格式,因此,这些模型可以直接应用到接口。

第二,因为应用程序被分成三个图层,所以有时候改变其中之一将能够满足应用程序的更改。 

第三,系统控制层的概念也很有效,因为它把不同的模型和不同的视图组合在一起完成不同的要求,因此,控制层可以说是包含用户请求的权限的概念。

第四,本系统采用的设计模式有利于软件的工程管理。由于每层都有着不同的功能,而每一层不同的应却具有某些相同的特征。利用这样的特点程序员可以工程化、工具化产生管理程序代码。 

4.2.2 系统控制模块

新月沃隆税务管家管理系统的控制模块控制了各个显示界面的方法调用和事件的处理。下面将列举出几个重要的控制模块。

1.登录模块

管理员要想对系统进行管理,需要首先登录,在登录界面输入用户名和密码进行登入。

程序实现判断是否已经输入了有效的用户名的功能。登录模块主要利用了getHibernateTemplate().find查询方法,对数据库进行查询,判断用户输入的账号和密码是否存在,然后进行跳转。在实现登录功能时,将用户输入的数据与数据库进行比对达到验证密码正确性的目的。实际操作中需要将用户名和密码放入con数组中。然后利用getHibernateTemplate().find方法查询数据库,在进行判断,如果数据存在正确则登录成功,跳转页面,否则登录失败。登录页面效果如图4-3所示。

基于jsp沃隆税务管家管理系统的计算机毕设_管理系统_05

图4-3登录页面界面显示图


主要代码如下:

public String login()

{

String result = "";//登入结果

String sql = "from TAdmin where username=? and password=?";//查询sql

Object[] con = { username, password };//查询参数

List adminList = adminDAO.getHibernateTemplate().find(sql, con);//查询数据库

if (adminList.size() != 0) {//

Map session = ServletActionContext.getContext().getSession();

TAdmin admin = (TAdmin) adminList.get(0);//把结果放入session

session.put("userType", admin.getRoles()+"");

session.put("admin", admin);

result = "yes";

} else {

HttpServletRequest req = ServletActionContext.getRequest();

req.setAttribute("ok", "ok");

result = "no";

}

return result;

}

4.3 视图层

新月沃隆税务管家管理系统的视图界面有多个视图组成。下面将介绍主要页面并和给出部分页面代码。

1.列表模块

如图4-2为列表模块页面。

基于jsp沃隆税务管家管理系统的计算机毕设_MySQL_06

图4-2列表模块页面


界面主要代码如下:

List list = dao.findAll(keywords);

Object[] con = {};

int pageSize = 10;

int fromIndex = (index - 1) * pageSize;

int toIndex = Math.min(fromIndex + pageSize, list.size());

List adminListFenye = list.subList(fromIndex, toIndex);

Pagination p = new Pagination();// 创建 分页对象

p.setIndex(index);// 设置页数

p.setPageSize(pageSize);

p.setTotle(list.size());// 设置总共的条数

p.setData(adminListFenye);// 设置数据

p.setPath("sfmana.action?");// 跳转的路径


Map request = (Map) ServletActionContext.getContext().get("request");

request.put("page", p);

return ActionSupport.SUCCESS;

2.添加模块

如图4-2为添加模块页面。

基于jsp沃隆税务管家管理系统的计算机毕设_MySQL_07

图4-3添加模块页面


界面主要代码如下:

Sf bean = new Sf();

bean.setDescs(descs);

bean.setNames(names);

bean.setTimes(new Date());

dao.save(bean);

this.setMessage("操作成功");

this.setPath("sfmana.action");

return "succeed";

4.3 本章小结

本章主要介绍系统实现的具体操作方法。首先介绍了SSH2的配置方法,然后介绍了程序的MVC模式。本章主意介绍了关键功能的实现方法,展示了主要界面的显示页面,给出了部分程序代码。


第五章系统测试

5.1 测试目的与目标

在此系统功能大部分实现可以运行之之时,便需要开始考虑进行系统测试工作了。通过对系统进行测试可以找出系统中隐藏的一些错误。在发现错误以后需要及时进行修正,以保障系统的长期稳定运行。这个过程必不可少。 

测试的软件模块的基本功能,可以继续进行,尽可能提高软件的鲁棒性。

5.2 测试方法

系统的测试有黑盒测试和白盒测试两种方法。

黑盒测试也称作功能测试。黑盒测试是在程序接口进行。它只检查程序功能是否可以运行并符合设计时所提出的要求。黑盒测试检查当有数据进行输入的时候程序是否能及时作出反应,而且还能够保持外部信息的完整性。

白盒测试也叫结构测试。白盒测试要求测试人员完全了解程序的结构和程序的处理过程。白盒测试会依照程序内部的逻辑顺序来进行测试,检验程序是否都能按照指定的要求去完成工作。[16]

本系统开发过程进行了模块测试、验收测试等测试。

模块测试也可以称为单元测试,目的是保证程序每一个单独模块作为一个独立单元可以正常的运行。模块测试常常可以发现编码和详细设计方面发生的错误。它主要用来评价模块的接口,局部数据结构,重要的执行路径,出错处理通路。模块测试主要是由代码审核和软件测试两部分组成。[17]

验收测试是为了验证软件的有效性和可靠性。其目的是为了说明软件可以向设计的那样正确的运行,也是对用户的一种保障措施。验收测试主要用黑盒测试法,验收测试有可能出现两种的结果。第一种是系统的功能与特性无法满足用户的要求;另一种可能是系统功能和性能十分完善,用户十分满意。

平行运行。所谓平行运行就是同时运行。就是将新开发出来的系统与原有的旧系统同时执行同样的任务,比较它们之间的差异。这样做的目的是可以发现新系统的并为改善的缺点,同时也可以让用户熟悉新系统,便于以后得运用与操作。

5.3实际模块测试

在模块测试时应该主要从以下几个方面开始入手:

模块接口,局部数据结构,重要执行通道,出错处理通道,影响上述方面的边界条件。

测试时进行代码审查测试,从数据类型,变量声明,数据结构进行审查,然后功是能测试。改变测试计划改造另一个角度测试,发现错误并记录,修改代码,测试条件通过多分支使程序,判别结果,以完成模块的测试。[18]




第六章   结论

经过长达4个月的艰苦研究,目前沃隆税务管家管理系统已经达到了日常工作所需要的基本要求。本系统拥有的登录功能简便安全,保障了公司商业机密的安全性。设计后台模块时,本论文考虑到了高层管理的实际情况,将一些重要模块录入后台这样做很符合实际情况。

本系统的一个亮点是查询功能。它可以帮助管理人员从整理和分类大量的数据工作中解放出来。查询功能操作简单却很实用,查询显示的内容清晰可观,正确性很高。

本论文实现沃隆税务管家管理系统有几大优点:系统操作简单易懂,对于操作人员来说,只需要学习简单的电脑操作即可实现对此系统的操作。系统能够长期、安全、稳定、可靠、高效的运行。 系统前期投资并不大,但是后期回报可观。系统真正实现了公司日常工作的统一化,数字化管理。

但是,目前系统也存在一些缺点,如操作界面美观方面需要进一步改进。



参考文献

[1]  孙卫琴.Java面向对象编程. [M]电子工业出版社. 2006.7.

[2]  杨学全.JSP编程技术. [M]北京:清华大学出版社. 2009.4.01.

[3]  孟琼. Spring框架事务处理技术研究.[J/OL]江西省计算机研究所. 2012.10.05.

[4]  董袁泉.基于Hibernat框架的J2EE应用开发.[J/OL]沙洲职业工学院学报.  2011-03-15.

[5]  余银山; 胡正华.基于Struts2框架的Web应用开发研究.[J/OL]电脑知识与技术. 2009-06-05

[6]  肖炜.基于MyEclipse开发环境的移动图书馆系统设计.[J/OL]网友世界. 2012-10-15.

[7]  chengang.基于MySQL存储引擎的融合查询方法[P].杭州求是专利事务所有限公司.  2008.04.09.

[8]  Jaroslaw Skaruz.Applications of Evolutionary ComputingSpringer.[B]海德堡出版社.2009.

[9]  李云云.浅析B/S和C/S体系结构[J/OL].科学之友. 2011.01.15.

[10]  张淑荣; 苏兵.C/S与B/S两种软件体系结构[J/OL].电脑学习. 2010.12.01.

[11]  崔楠.车辆违章信息管理系统的实现.[J/OL]山东:山东大学. 2012.

[12]  刘国艳. 家庭财务管理的设计与实现.[J/OL]].山东:山东大学. 2012 .

[13]  仲丽维.Web版交通车辆违章查询系统.[J/OL]现代技术制造与装备. 2010.07.15.

[14]  戴马. 基于J2EE架构的SSH2组合框架的Web应用. [D]苏州大学. 2010.10.01.

[15]  李庆敏. 基于MVC架构的RIA分层框架的接口模型.[P] 广州市深研专利事务 所. 2008.7.30

[16]  陶幸辉; 宋志刚.软件系统测试类型及测试用例设计.[J/OL]科技经济市场. 2011-06-15.

[17]  陈鑫.Spring框架的分析和研究. [J/OL]电脑知识与技术,2009.7.08

[18]  李亚伟.MySQL的存储安全的研究与实现.[J/OL]华中科技大学,2011.

附 录 I 文献翻译

1、英文原文

JAVA three frameworks used to make WEN applications.

Show struts primarily responsible for the presentation layer

spring IOC and AOP use it to process control operations ( responsible for the operation of the database )

hibernate mainly persistent data to the database

In the servlet jsp to do with web development when there is a web.xml mapping file , which has a label that is used for mapping file mapping .

When you enter the URL in the browser when the file will be written based on your name corresponding to a java file , the browser is a web page , so just write the page name is based on the contents of the document written in java display , just from the name , whether you are from . php. jsp. do or what other corresponds to the java file, the java code file what action to do, display a word or a connection to a database or jump to other page so that the java file the data package to play the role of security and ease of management . In fact, this java files compiled over是. Class of a byte code file , not as a similar html code to embed tags and web documents . He and the difference is jsp jsp files to embed html code label .

There servlet or struts action in the form of html submit a java file name corresponds , struts generally . Do , and are mapped as above .

One , Spring

Spring is a powerful framework to solve many of the common J2EE development issues . Spring provides a consistent way to manage business objects and to encourage the injection of the programming interface rather than the class of good programming habits . Spring -based architecture is based on the use of JavaBean properties Inversion of Control container. However , this is only part of the complete picture : Spring IoC container in use as a framework to build complete attention to all aspects of a complete solution layer is unique . Spring provides a unique data access abstraction , including a simple and efficient JDBC framework , which greatly improves the efficiency and reduces the possibility of errors. Spring's data access architecture also integrates Hibernate and other O / R mapping solutions. Spring also provides a unique transaction management abstraction , which can in a variety of underlying transaction management techniques , such as JTA or JDBC transaction provides a consistent programming model . Spring provides a language written in standard Java AOP framework , it gives POJOs provides declarative transaction management and other corporate matters - if you need to - can implement your own aspects. This framework is strong enough to make an application to set aside the complexity of EJB , while enjoying critical services and associated traditional EJB . Spring IoC container and also provides a powerful and flexible integration MVC Web framework .

Two , STRUCTS

Struts is an MVC framework Sun J2EE platform based mainly used Servlet and JSP technology to achieve. Since Struts can fully meet the needs of application developers , easy to use, quick quick , popular attention in the past year . Struts the Servlet, JSP, custom labels and information resources (message resources) into a unified framework , developers do not have to use their own coding MVC model to achieve its full development , greatly saving time , so that Struts is a very good application framework .

Three , Hibernate

Hibernate object-relational mapping framework is an open source , it had a very lightweight JDBC object package so that Java programmers can use arbitrary object programming thinking to manipulate the database . Hibernate can use JDBC in any application , either program in Java client utility can also be used in Servlet / JSP Web application , the most revolutionary is , Hibernate can replace the EJB CMP J2EE application architecture to complete the task of data persistence . , Hibernate can replace the EJB CMP J2EE application architecture, data persistence to complete the task .


2、中文译文

JAVA三大框架用来做WEN应用。

struts主要负责表示层的显示

spring利用它的IOC和AOP来处理控制业务(负责对数据库的操作)

hibernate主要是数据的持久化到数据库

在用jsp的servlet做网页开发的时候有个web.xml的映射文件,里面有个mapping的标签就是用来做文件映射的。

当你在浏览器上输入URL地址的时候,文件就会根据你写的名称对应到一个java文件,根据java文件里编写的内容显示在浏览器上,就是一个网页,所以网页名字是随便写的,随便起的名字,不管你起的是.php .jsp .do还是其他的什么都对应这个java文件,这个java文件里的代码进行什么操作就干什么,显示一句话还是连接数据库还是跳转到其他页面等等,这个java文件把数据进行封装起到安全和便于管理的作用。其实这个java文件编译过来是.class的一个字节码文件,没有那么一个类似html嵌入标签和代码的网页文件。他与jsp文件区别就是jsp把代码嵌入到html标签中。

还有servlet或者struts中html表单的action中的提交名称对应一个java文件,struts一般是.do的,都和上面一样是映射。

一、Spring

Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。 Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是基于使用JavaBean属性的Inversion of Control容器。然而,这仅仅是完整图景中的一部分:Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的。 Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构还集成了Hibernate和其他O/R mapping解决方案。Spring还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如JTA或者JDBC事务提供一个一致的编程模型。Spring提供了一个用标准Java语言编写的AOP框架,它给POJOs提供了声明式的事务管理和其他企业事务--如果你需要--还能实现你自己的aspects。这个框架足够强大,使得应用程序能够抛开EJB的复杂性,同时享受着和传统EJB相关的关键服务。Spring还提供了可以和IoC容器集成的强大而灵活的MVC Web框架。

二、STRUCTS

Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架。

三、Hibernate

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。



谢  辞


我在这里首先要感谢的是我的学位论文指导老师。这篇毕业论文从开题、资料查找、修改到最后定稿,如果没有他们的心血,尚不知将以何等糟糕的面目出现。我很自豪有这样两位老师,他们值得我感激和尊敬。他们用渊博的知识和严谨的治学态度让我受益匪浅,对顺利完成本课题起到了极大的作用。在此向他们表示我最衷心的感谢!

在论文完成过程中,我还得到了其他同学的热心帮助,本人向他们表示深深的谢意!

最后向在百忙之中评审本文的各位专家、老师表示衷心的感谢!