




免费预览已结束,剩余37页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业论文(设计)题 目: 居民小区物业管理系统 院(系): 专业年级: 姓 名: 学 号: 指导教师: 2011年05月09日 原 创 性 声 明本人郑重声明:本人所呈交的毕业论文,是在指导老师的指导下独立进行研究所取得的成果。毕业论文中凡引用他人已经发表或未发表的成果、数据、观点等,均已明确注明出处。除文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研究成果做出重要贡献的个人和集体,均已在文中以明确方式标明。本声明的法律责任由本人承担。论文作者签名: 日 期: 关于毕业论文使用授权的声明本人在指导老师指导下所完成的论文及相关的资料(包括图纸、试验记录、原始数据、实物照片、图片、录音带、设计手稿等),知识产权归属平顶山学院。本人完全了解平顶山学院有关保存、使用毕业论文的规定,同意学校保存或向国家有关部门或机构送交论文的纸质版和电子版,允许论文被查阅和借阅;本人授权平顶山学院可以将本毕业论文的全部或部分内容编入有关数据库进行检索,可以采用任何复制手段保存和汇编本毕业论文。如果发表相关成果,一定征得指导教师同意,且第一署名单位为平顶山学院。本人离校后使用毕业论文或与该论文直接相关的学术论文或成果时,第一署名单位仍然为平顶山学院。论文作者签名: 日 期: 指导老师签名: 日 期: 平顶山学院本科毕业设计居民小区物业管理系统摘 要随着我国经济与城乡的发展,聚集式的住宅小区越来越成为居住的主流,小区物业管理是为适应当代社会这一市场需要应运而生的。小区物业管理系统在现代社会是最热门的行业管理软件,使管理者对小区管理更加得心应手。伴随着小区规模的不断扩大和住户的不断增多,工作量也将越来越大。而用计算机操作的小区物业管理系统可以更人性化地使小区物业管理者开展各项物业管理业务工作。随着计算机技术的不断普及和计算机数据处理功能的不断增强,使用计算机系统管理软件对小区进行物业管理已然成为必要。物业管理公司运用现代化的计算机管理手段,使物业的硬件管理结合软件管理,为物业管理走向现代化、制度化与规范化创造更好的条件。针对系统的分析设计,本文从小区物业公司的需求着手,对系统进行了总体设计,包括功能架构、技术架构的设计,接着对系统功能模块进行了分析建模,并完成数据库表的设计。论文最后对系统各功能模块的实现进行了描述。在系统的具体实现中,联合使用DAO模式和业务代理模式,从而提高数据层、模型层和Web应用层之间的相互独立性,使得系统的维护和扩展更加方便,在安全方面,采用身份验证、权限等技术来保护网络与系统的安全。该系统以Windows XP为系统平台,以MyEclipse为开发平台,采用先进的J2EE技术来开发,使用Struts,Spring,Hibernate框架,并采用BS多层架构实现,使用SqlServer2005的数据库,更加方便、可伸缩性好、与相关软件集成程度高。关键词: SSH,物业,关系数据库Residents of Residential Property Management SystemAbstractAs Chinas economy and urban and rural development, gathered style residential area is increasingly becoming the mainstream of living, residential property management is to meet the needs of contemporary society came into being in this marketResidential property management system in modem society is the most popular business software, so that mana- gers administration even easierAlong with the size of quarters of continuous expansion and growing number of households, the workload will also increase With the growing popularity of computer technology and computer data processing fun- ctions are being constantly enhanced with computer systems of the residential property ma- nagement has become essentialProperty management company should use modem comp- uter management tool, so that combination of hardware management software, property management, property management modernization, to create conditions for the institutiona- lization and standardizationAccording to the needs of the property company, we start the overall design of this system including functional architecture,technical architecture design,then the system function modules are analyzed and modeled,and then we complete the design of database tablesFinally this paper describes the implementation of the system function modulesThe implementation of the system jointly uses DAO and business agent pattern, thereby yielding independence among data persistence layer, model layer and the Web application layer, making system maintenance and expansion easierThe system is developed under windows XP, in MyEclipse IDE,using advanced J2EE technologies,Struts, Hibernate, Spring framework,and BS multi-layer architectureFor the database we use SqlServer 2005,which is easy to use with good scalability and a high degree of integration of related softwareKey Words:SSH, Property, Relation database目 录1 绪 论11.1 研发背景11.2 研究现状及意义11.3 论文结构安排22 相关技术研究32.1 开发工具32.2 开发技术33 需求分析63.1 系统需求分析63.1.1 可行性分析63.1.2 系统功能模块63.2 系统软硬件环境要求83.2.1 软件要求83.2.2 硬件要求84 系统总体设计94.1 系统架构设计94.2 前端设计104.3 J2EE后台结构设计104.4 数据库设计114.4.1 数据库设计的基本步骤114.4.2 主要E-R图114.4.3 主要表结构介绍135 系统实现175.1 系统整体配置175.1.1 Action控制层配置与实现175.1.2 Service业务逻辑层配置与实现175.1.3 DAO数据访问层的配置与实现185.1.4 Struts Spring Hibernate三大框架的整合185.2 动态异步加载树的实现205.2.1 动态异步加载树的使用205.2.2 动态异步加载树请求过程205.2.3 后端服务器生成Json数据215.3 系统权限模块的实现225.3.1 系统权限机制225.3.2 菜单权限控制的实现225.3.3 部门权限控制的实现246.软件测试256.1 测试环境与工具256.2 单元测试框架JUnit256.3 基于JUnit的单元测试的构建266.4 测试结果276.4.1单元测试结果276.4.2负载压力测试结果27附 录29参考文献33致 谢34331 绪 论1.1 研发背景随着全球经济一体化的发展,信息的管理及合理利用变的越来越重要。近年来房地产行业发展迅速,小区规模不断扩大,各种基础设施不断增加,住户的需求不断提高,原始的物业管理水平已经不能满足人们的需求,而且效率低下。推进小区物业管理的自动化、网络化、电子化,全面信息共享已是大势所趋。我国的信息管理系统起步晚,与信息技术发达的国家相比,无论是在理论研究还是实际应用方面均存在着较大的差距,但其前景和市场需求相当广阔。要想提高物业管理水平,必须全方位地提高物业管理意识。只有高标准、高质量的社区服务才能满足人们的需求。面对信息时代的挑战,利用高科技手段来提高物业管理无疑是一条行之有效的途径。在某种意义上,信息与科技在物业管理与现代化建设中显现出越来越重要的地位。物业管理方面的信息化与科学化,已成为现代化生活水平步入高台阶的重要标志。现在的小区物业管理,大都采用传统的人工管理的模式,这对于规模较小的小区来说,是可以应付日常的管理需要的。但是,随着该行业竞争的日益激烈,提高物管的工作效率、为住户提供更好的服务,成为对小区管理当前必须考虑的问题。而解决这些问题的途径之一,就是将计算机引入到管理机制中来。如何成功地进行小区物业管理系统的开发,如何方便快捷地构造出易于维护,易于扩展的、灵活的、安全的实用性小区物业管理系统己成为目前急需解决的课题。1.2 研究现状及意义目前,物业管理系统的开发方法很多,但多数系统在开发中存在系统结构复杂、代码重用率低、网页设计和软件开发相互制约导致开发效率低下等不尽人意的地方。在系统设计过程中,我们综合考虑系统结构、开发周期以及代码重用等方面,决定采用先进的J2EE技术来开发这个应用系统,并全面贯彻MVC (ModelView -Controller) 的开发模式。 而Struts作为一个实现良好的MVC框架,很好地将应用逻辑、处理过程和显示逻辑分成不同的组件实现,对大型复杂的Web系统而言,可大大方便代码开发和管理,提高开发效率。同样Spring和Hibernate在处理业务逻辑和数据库访问上也起到了至关重要的作用。正是鉴于此特性,在设计小区物业管理系统时,我们采用了基于Struts,Spring,Hibernate框架的系统构建模式。1.3 论文结构安排为了便于方便阅读本文,特列出本文各章节结构安排如下:1. 绪论,介绍选题的背景、研究现状以及意义;2. 开发工具及技术,介绍开发本系统采用的IDE及J2EE开发的各种技术;3. 需求分析,进行可行性的分析、系统功能模块需求以及系统所需的软硬件环境;4. 系统总体设计,分析系统的架构设计、前端设计、后端设计以及数据库的设计;5. 系统详细设计,主要介绍系统中核心部分的设计,包括前端和后端通信方式,控制层、业务逻辑层、数据访问层的设计以及SSH整合的最佳实践等;6. 测试,系统各部分的单元测试。2 相关技术研究就现在开发技术来说,主要分为三大类:基于C/S结构的应用程序开发,结合C/S结构和Web技术的复合应用程序,基于B/S结构的动态网页技术。C/S结构系统,是传统开发模式,一般以数据库和客户端的两层结构实现,在早期是标准的系统模式,但随着计算机技术的发展和网络的发展,它已经无法满足现在的大多数管理系统需求,逐渐在被取代。B/S结构系统,是采用动态网页技术,加入新的开发理念,是现代管理系统的首选技术。就B/S结构的开发,具体技术又有多种选择:PHP,J2EE,A等。本系统后端服务器采用基于J2EE的B/S结构来实现,J2EE技术拥有平台无关性,可移植性强,运行效率高的优点。B/S结构的系统模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。可以在任何地方进行操作而不用安装任何专门的软件,只要有一台带有浏览器能上网的电脑就能使用,客户端零维护,而且后台系统的扩展也非常容易。前端采用富客户端框架ExtJs,ExtJs是建立在JavaScript的基础上的,通过JavaScript和Ajax技术来实现丰富的界面和交互,解决了使用传统HTML技术与客户的动态交互性较弱的缺点。2.1 开发工具本系统采用当前业界开发J2EE常用的IDE - MyEclipse。Eclipse 是一个开放源代码、基于 Java 的可扩展开发平台。MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。2.2 开发技术1.J2EE技术Java2平台企业版(Java 2 Platform Enterprise Edition), 是Sun公司为企业级应用推出的标准平台。随着Java技术的发展,J2EE平台得到了迅速的发展,成为Java语言中最活跃的体系之一。现如今,J2EE不仅仅是指一种标准平台(Platform),它更多的表达着一种软件架构和设计思想。本系统采用J2ee作为后台的实现,为系统的安全性,稳定性,跨平台性等提供了更好的保障。2.Struts框架Struts是Apache软件基金会(ASF)赞助的一个开源项目。它最初是Jakarta项目中的一个子项目,并在2004年3月成为ASF的顶级项目。它通过采用Java Servlet/JSP技术,实现了基于Java EE Web应用的Model-View-ControllerMVC设计模式的应用框架Web Framework,是MVC经典设计模式中的一个经典产品。在本系统中,使用Struts框架中一个名为ActionServlet的Servlet充当总控制器(Controller)的角色,根据描述模型、视图、控制器对应关系的struts-config.xml的配置文件,转发视图(View)的请求,组装响应数据模型(Model)。在MVC的 模型(Model)部分,划分为两个主要子系统(内部数据状态与逻辑动作),这两个概念子系统分别具体对应Struts里的ActionForm与Action两个类。在本系统实现中,Struts与Spring和Hibernate两个优秀的框架结合在一起。在视图(View)端,使用了标准的JavaServer Pages(JSP),同时也使用了Struts自带了大量的标签库。通过应用Struts的框架,可以把大部分的关注点放在自己的业务逻辑(Action)与 映射关系的配置文件(struts-config.xml)上,提高了开发效率。3.Spring框架Spring Framework 是一个开源的Java/Java EE全功能栈(full-stack)的应用程序框架,以Apache许可证形式发布,也有.NET平台上的移植版本。Spring Framework 提供了一个简易的开发方式,这种开发方式,将避免那些可能致使底层代码变得繁杂混乱的大量的属性文件和帮助类。本系统中使用了以下Spring 中的关键特性:(1)强大的基于 JavaBeans 的采用控制翻转(Inversion of Control,IoC)原则的配置管理,使得应用程序的组建更加快捷简易,各层之间实现强耦合。(2)数据库事务的统一管理,使用声明式(Declarative)事务管理器,简化事务的管理,并使之与底层数据库无关。(3)资源容器,DAO 实现和事务策略等形式与另一个框架Hibernate集成。利用众多的翻转控制方便特性来全面支持,解决了许多典型的Hibernate集成问题。所有这些全部遵从Spring通用事务处理和通用数据访问对象异常等级规范。(4)Spring对Struts的支持,把Action对象的生命周期,包括创建和销毁等交由Spring来管理。(5)使用Spring对控制层提供注入业务逻辑层的实现,消除了控制层与业务逻辑层之间的强耦合。(6)使用Spring对业务逻辑层注入数据访问层的实现,消除了业务逻辑层与数据访问层之间的强耦合。4.Hibernate框架Hibernate是一种Java语言下的对象关系映射解决方案。 它是使用GNU宽通用公共许可证发行的自由、开源的软件。它为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架。Hibernate不仅负责从Java类到数据库表的映射(还包括从Java数据类型到SQL数据类型的映射),还提供了面向对象的数据查询检索机制,从而极大地缩短了手动处理SQL和JDBC上的开发时间。本系统使用Hibernate框架作为ORM(对象关系映射)框架,配置模型对象和数据库表的关系后,Hibernate提供通过执行HQL语句直接返回模型对象或模型对象列表,与传统的直接使用JDBC相比,大大简化了数据库访问操作,使开发的过程中更专注于业务逻辑层的实现。5.ExtJs框架ExtJs是用来开发RIA也即富客户端的AJAX应用,是基于JavaScript,主要用于创建前端用户界面,是一个与后台技术无关的前端Ajax框架。因此,可以把ExtJS应用在以JavaEE、.NET、php等各种开发语言的应用中。ExtJs最开始基于YUI技术,由开发人员Jack Slocum开发,通过参考Java Swing等机制来组织可视化组件,ExtJs整合了CSS样式文件,窗口、面板都有现成的样式,甚至都不需要美工进行特别的美化就可以直接使用。功能涵盖了一个Web 2.0网站所需要的几乎所有功能,非常完备。无论从UI界面上CSS样式的应用,还是到数据解析上的异常处理,都可算是一款不可多得的JavaScript客户端技术的产品。本系统采用ExtJs作为前台显示技术,使系统页面拥有统一的风格,本系统界面默认使用淡蓝色风格主题,拥有十多种主题可以实时更换。同时统一的风格可以带给使用者愉悦的感受,提高工作效率,并且运用ExtJs提供的丰富的组件,带给使用者带来更直观更丰富的用户体验。由于ExtJs全部使用了AJAX技术与后台通信,部分逻辑也能在客户端电脑上进行部分处理,从而大大的减轻了服务器的负担,并增加了交互性,能进行局部实时刷新。6.Sql Server 2005数据库SQL Server 是一个关系数据库管理系统。它最初是由Microsoft、 Sybase 和Ashton-Tate三家公司共同开发的。SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能 (BI) 工具提供了企业级的数据管理。SQL Server 2005 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序 SQL Server 2005 特性概况。SQL Server 2005不仅可以有效地执行大规模联机事务处理,而且可以完成数据仓库和电子商务应用等许多具有挑战性的工作。3 需求分析在开发一个软件之前首先要进行系统需求分析,其主要工作是确定系统的规模和范围,根据用户的情况确定软件的要求,系统的需求以及待开发软件总体上的约束和限制。本章主要介绍一下系统的需求分析和基本功能需求。3.1 系统需求分析对系统的开发而言,系统的需求工作非常重要,它规定了系统设计的最基本的要求,需求分析是在可行性分析研究的基础上,确定新项目必须完成的工作。其具体任务是:确定用户对本系统的综合要求,分析系统的数据要求,导出本系统数据字典及系统流程,确定和评价系统方案,确定系统开发计划。3.1.1 可行性分析 可行性分析的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。也就是说可行性研究的目的不是解决问题,而是确定问题是否值得去解。3.1.2 系统功能模块系统功能模块图如下:图3-1 系统功能模块图系统各模块说明:1. OA办公(1) 文件管理包括个人文件管理和公司文件管理,用来存放和管理员工个人文件和企业共(公)有文件。(2) 通知管理通知管理是上级对下级发送通知事项,交代工作任务,会议通知,大小事项通知等。(3) 待办事项待办事项是允许员工个人进行工作安排,个人任务安排等。2. 人事管理(1) 部门管理部门管理是公司对部门进行添加、删除、更新、查询等操作。(2) 职务管理职务管理是对公司的各个职务进行添加、删除、更新、查询等操作。(3) 档案管理档案管理是对公司员工的档案进行添加、删除、更新、查询等操作。3. 房产管理(1) 楼盘管理楼盘管理是对物业公司所管辖的楼盘进行添加、删除、更新、查询等操作。(2) 住户管理住户管理是对所管辖楼盘的住户添加、删除、更新、查询等操作。4. 收费管理(1) 收费项目管理收费项目管理是物业公司对现有的收费项目进行添加、删除、更新、查询等操作。(2) 收费管理收费管理是物业公司对楼盘、住户按照一定的收费项目进行计费,收费等操作。(3) 收费查询收费查询允许对楼盘、住户在一定的时间段内进行查询已缴费的项目清查进行查询。5. 系统管理(1) 日志管理管理登录到本系统的操作人员的登录环境等信息,方便进行跟踪统计。(2) 权限控制权限控制是对操作人员的角色和对应的功能进行合理分配权限的功能模块。(3) 基础代码基础代码是对本系统的一些字典信息进行维护。3.2 系统软硬件环境要求3.2.1 软件要求要正确运行本系统,服务器端必须安装如下软件:1. Windows XP sp3或更高版本或Linux操作系统2. Apache Tomcat 6.0 (Servlet 容器)3. SqlServer2005或更高版本4. JRE1.5或更高版本 (Java运行时环境) 5. 客户端只要是普通的浏览器即可,如Internet Explorer6.0或更高版本。建议使用IE8以上版本、火狐浏览器、Chrome浏览器等 3.2.2 硬件要求操作系统:Windows XP /2003/Vista/Windows 7 /Linux各发行版本硬件配置:CPU:P4 1.8GHz内存:512MB以上分辨率:1024768,最佳效果12808004 系统总体设计4.1 系统架构设计系统采用典型的基于MVC的三层架构:页面显示层,业务逻辑层,数据访问层。层层调用,形成一个调用栈,这样实现了责任分离,降低了三层之间的耦合。如图3-1所示。 图4-1 系统总体架构设计图数据库是应用系统的基础,它保存系统中的所有数据。数据访问层封装对数据库的操作,如创建数据库连接、打开数据库连接、执行存储过程和关闭数据库连接等。在本系统中,数据访问层由Hibernate实现,它用来处理数据库的各种操作,如打开数据库连接的方法,执行存储过程的方法,执行sql语句等。业务逻辑层与应用系统的上层逻辑相关联,它调用数据访问层,同时也为上层页面表示层服务。业务逻辑层通过数据访问层实现对数据的操作,如选择、添加、修改和删除操作等,同时为应用程序的页面表示层服务提供访问数据库的接口或方法等。页面表示层实现应用系统的具体页面。它一般由Web页面或者控件组成,这里是用ExtJs作为前台页面表示层,使得人机交互界面更加灵活和美观。4.2 前端设计本系统的前端是采用了ExtJs这个富客户端框架,ExtJs是基于Javascript语言的框架,所以前端的实现文件除了jsp之外,就是js脚本文件。ExtJs提供了丰富、灵活、功能强大的界面控件,比如常用的Tree,Grid,Panel,Form、ProgressBar等控件组件。前端文件所有的资源文件都位于项目的Resources目录下,包括Extjs框架本身的核心库、css样式表文件、自定义的icon文件、image图片文件、项目中自定义的js文件。 其中js目录下就是项目中的展示页面文件,它们按照功能模块分布在不同的子文件夹内。4.3 J2EE后台结构设计本系统后台采用JavaEE设计,中间主要采用了Struts,Spring和Hibernate两个框架。Struts用来处理所有来自客户端的请求,把不同的请求URL映射到对应的Action上,调用Action的方法做出相应。同时使用Spring的IOC,AOP等实现业务逻辑及事务的处理,使用Hibernate的ORM完成对象-关系映射以及访问数据库的功能。系统类文件和系统配置文件位于项目的Src文件夹下,部分主要包和配置文件的功能如下:(1) Com.*.base :系统的基础类库(2) Com.*.dao : 数据访问层接口(3) Com.*.dao.impl : 数据访问层接口实现(4) Com.*.domain : 模型层,包括hibernate的映射文件(5) Com.x.exception : 异常类(6) Com.x.service : 业务逻辑层接口(7) Com.x.service.impl : 业务逻辑层接口实现(8) Com.*.test : junit4测试类(9) Com.x.utils : 系统中用到的工具类 (10) Com.*.action : 前端控制层Action类 (11) Com.*.actionForm : Struts1中的actionform文件(12) applicationContext.xml: Spring的配置文件,Hibernate的配置也在内(13) ehcache.xml : 缓存ehcache的配置文件 (14) perties : log4j日志配置文件(15) webroot :jsp文件、js文件以及web项目必须的web.xml等文件 4.4 数据库设计数据库是应用系统的基础,它保存系统中的所有数据。数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。4.4.1 数据库设计的基本步骤数据库设计的基本步骤:(1) 需求分析阶段准确了解与分析用户需求(包括数据与处理),是整个设计过程的基础,是最困难、最耗费时间的一步(2) 概念结构设计阶段概念结构设计是整个数据库设计的关键,通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型(3) 逻辑结构设计阶段将概念结构转换为某个DBMS所支持的数据模型对其进行优化(4) 数据库物理设计阶段为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)4.4.2 主要E-R图(1)用户,用户组,菜单权限E-R图:图4-4 用户、用户组、菜单权限E-R图(2)用户,部门,E-R图:图4-5 用户、部门E-R图(3)住户、房产、楼层/单元、楼盘E-R图:图4-6 住户、房产、楼层/单元E-R图(4)住户、缴费项目、缴费明细E-R图:图4-7 住户、缴费项目、缴费明细E-R图4.4.3 主要表结构介绍本系统主要创建了以下各表:用户表,用户组表、权限表、部门表、住户表、房产表、楼层/单元表、楼盘表、收费项目表、收费明细表等十余个表,各表的表结构如以下各表所示: 表4-1 用户表序号列名数据类型长度主键允许空说明1USR_GROUPIDvarchar2是否组编号2USR_IDvarchar10是否编号3USR_NAMEvarchar10否用户名4USR_PSWvarchar100是密码5USR_DANWEIvarchar10是单位6USR_FANGANvarchar10是方案7USR_DEPIDvarchar300是部门编号8USR_LOGINvarchar1否登录次数9USR_LOGIN1varchar1否10createdtdatetime8是注册日期表4-2 用户组表序号列名数据类型长度主键允许空说明1grp_idvarchar2是否编号2grp_namevarchar20否名称3grp_typevarchar1否类型4grp_remarkvarchar100是备注表4-3 权限表序号列名数据类型长度主键允许空说明1idint4是否编号2grp_idvarchar2否用户组编号3menu_idint4否菜单编号4grp_rightvarchar10否权限5menu_pidint4否菜单父编号表4-4 部门表序号列名数据类型长度主键允许空说明1dep_idvarchar10是否编号2dep_paridvarchar10是父编号3dep_childbit1是是否有子部门4dep_namevarchar30是部门名称5dep_pathvarchar100是路径6dep_principalvarchar20是部门负责人7dep_numvarchar10是人数8dep_remarkvarchar60是备注9dep_typechar1是类型表4-5 住户表序号列名数据类型长度主键允许空说明1idint4是否编号2depidvarchar10是小区编号3rnovarchar20是住房号4owr_namevarchar20是姓名5spellvarchar10是拼写6tel_novarchar15是电话7mob_novarchar15是移动电话8remarkvarchar255是备注9fc_idint4是房产号表4-6 房产表序号列名数据类型长度主键允许空说明1idint4是否编号2unit_idint4是小区3rnovarchar20是房间号4typevarchar10是几室几厅5direvarchar10是朝向6areadecimal9是面积7statuschar1是状态8remarkvarchar200是备注9owner_idint4是业主表4-7 楼层/单元表序号列名数据类型长度主键允许空说明1idint4是否编号2pidint4是父编号3rnovarchar20是房间号4depidvarchar10是小区5namevarchar100是楼号/单元号6unumint4是单元数7rnumint4是住房数8placevarchar200是位置10developervarchar100是开放商11indtdatetime8是日期12startAtdatetime8是开始日期13endAtdatetime8是结束日期表4-8 楼盘表序号列名数据类型长度主键允许空说明1dep_idvarchar10是否编号2dep_paridvarchar10是父编号3dep_childbit1是是否有子楼盘4dep_namevarchar30是楼盘名5dep_pathvarchar100是位置6dep_principalvarchar20是楼盘负责人7dep_numvarchar10是人数8dep_remarkvarchar60是备注9dep_typechar1是类型表4-9 缴费项目表序号列名数据类型长度主键允许空说明1idint4是否编号2depidvarchar10是小区编号3namevarchar20是收费名称4exesdecimal9是收费金额5itemtype_idvarchar10是单位6statusbit1是启用状态7typechar1是类型表4-10 缴费明细表序号列名数据类型长度主键允许空说明1idint4是否编号2rnovarchar20是住房号3fc_idint4是房产号4item_idint4是收费项目5startdtdatetime8是开始日期6enddtdatetime8是结束日期7acountdecimal9是费用8opr_dtdatetime8是操作时间9opratorvarchar10是操作员10remarkvarchar100是备注11fee_monthint4是缴费月数5 系统实现5.1 系统整体配置5.1.1 Action控制层配置与实现Action层是MVC中的C,即Controller,控制器,它的作用是起到核心的处理所有来自客户端浏览器的HTTP请求,业务逻辑处理交给业务逻辑层,把处理的结果转换成Json数据,返回给客户端浏览器。在本系统中Action层的类文件都位于com.*.action里。一般来说一个实体对应一个处理的Action,这个Action处理有关该实体的所有请求,包括添加、删除、修改、查询以及一些复杂的请求等。Action类的每一个方法(除了getter和setter方法)都对应一个来自客户端的请求,比如UserAction里的login方法就是专门处理用户登录请求的。下图是本系统中Action的一部分类:图5-1 系统Action类部分类结构图系统中每个Action类都继承自Struts提供的DispatchAction公共父类,来获得父类中默认提供的一些工具方法。编写完Action类以后,需要在struts-config.xml中配置,这样struts框架才能找到自定义的Action类。在每个Action配置中Path指定了该Action拦截请求的URI,name指定该Action使用的ActionForm,type是Action类的全名,scope指定Action的生存范围,forward中是逻辑视图到物理视图的映射。5.1.2 Service业务逻辑层配置与实现Service业务逻辑层是负责处理系统中所需要的业务逻辑的,大部分情况下都依赖于数据库访问层,整个请求顺序是客户端请求服务器,Action层拦截到请求,业务逻辑交给Service层来处理,Service层中需要和数据库交互的地方转交给DAO层来处理,这样的分层结构可以有效的降低各模块之间的耦合,符合软件开发中单一责任原则。如用户登录的整个序列图5-2所示。 图5-2 用户登录序列图本系统中为了降低耦合,增加模块间的灵活性,Service层的每个类都有一个接口和一个实现,接口都位于com.*.service包下,其实现类位于com.*.service.impl包下。5.1.3 DAO数据访问层的配置与实现DAO层,即数据访问层,是与底层数据库打交道的,系统中对数据库的任何操作,包括增加、删除、查询、更新数据都是由DAO层来实现的。本系统中的DAO层是基于Hibernate之上的,Hibernate是提供了对JDBC操作的封装,并做了OR Mapping,这样就不需要操作数据库中的表,而是操作与数据库中的表映射的实体类,大大简化了数据库访问层的复杂性。除此之外,为了降低耦合,DAO层也是分为接口和实现,接口定义了一些规范和需要的方法,实现类实现具体的数据访问操作。接口都在com.*.dao包里,实现类都在com.*.dao.impl包下。5.1.4 Struts Spring Hibernate三大框架的整合本系统的一个重点是Struts,Spring和Hibernate的整合过程,同时也是整个项目的基石。Struts负责创建和管理Action来处理客户端的HTTP请求,Spring用来管理业务逻辑类、DAO访问类以及Action类之间的依赖关系来降低耦合,Hibernate用来处理系统的中实体类和数据库表的对应关系并提供一个ORM,即对象关系映射来简化数据库操作。首先是Struts与Spring的整合过程,Struts和Spring的整合过程较为简单,只要把Struts的Action委托给Spring来管理即可。Struts的配置文件位于WEB-INF下的struts-config.xml文件中,在文件的最后加上这样的配置: 这样就把Action类的创建、生命周期管理以及Action类中依赖的Service层的业务逻辑层接口交由Spring来管理。当拦截到请求后,Struts会找到对应的Action类,如果发现该类的实例还没有创建,就会到Spring的Context上下文中取,Spring会根据情况创建后返回或直接返回该Action的实例。接下来是Spring和Hibernate的整合过程,Spring和Hibernate的整合相对复杂一些,大体可以分为下面几个步骤:(1) 定义数据源DataSource和数据连接池在Spring的配置文件application-Context.xml中配置datasource,需要配置数据库驱动、数据库连接URL、数据库访问用户及密码、连接池的初始化信息等。(2) 定义SessionFactorySession是Hibernate中数据访问的一个会话,通过session才能对数据库表中的数据进行操作,SessionFactory是创建session的工厂类,他的的创建代价很昂贵,它是线程安全的对象,它为所有的应用程序线程所共享。因此SessionFactory的创建在此交由Spring进行管理。需要配置的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 青海大学陪读管理办法
- 广安市拆迁安置管理办法
- 句容市轨道交通管理办法
- 青岛文物捐赠管理办法
- 护理院医疗经营管理办法
- erp销售提成管理办法
- gmp委托工作管理办法
- 静安代理记账管理办法
- 典当业行业经营管理办法
- 营运资金管理在企业管理中的应用思考
- 《电力机车制动系统检修与维护》课件 项目二任务四检修中继阀
- 2025浙江慈溪市水务集团限公司招聘国企业人员19人易考易错模拟试题(共500题)试卷后附参考答案
- GB/T 15683-2025粮油检验大米直链淀粉含量的测定
- 2025吉林省安全员C证考试(专职安全员)题库及答案
- 电钻清洗消毒流程
- 装修贷款申请书
- 造林安全文明施工方案
- 员工作风培训
- 施工现场防扬尘、防噪音、防光污染措施
- 瓶装液化气送气工培训
- TSG 07-2019电梯安装修理维护质量保证手册程序文件制度文件表单一整套
评论
0/150
提交评论