




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Struts框架在小区物业管理系统中的应用 作者: 钟珞,邱绪莲,徐俊杰,李兵 摘要 Struts提供了一个非常好的MVC框架,在Web应用开发中把界面和业务逻辑分离,提高了代码的可重用性和灵活性。文中首先介绍了Struts概念和体系结构,阐述了Struts的工作原理。然后介绍了小区物业管理系统各个功能模块以及整个系统基于Struts的开发流程。最后,通过一个应用示例,详细介绍了Struts框架在系统开发中的应用。 关键词 MVC;Struts框架;Web;物业管理系统; 前言 物业管理系统是近年来为适应小区建设和管理而兴起的一种新型产业,它的出现为住宅小区的现代化管理提供了保障。目前,物业管理系统的开发方法很多,但多数系统在开发中存在系统结构复杂、代码重用率低、网页设计和软件开发相互制约导致开发效率低下等不尽人意的地方。在系统设计过程中,我们综合考虑系统结构、开发周期以及代码重用等方面,决定采用先进的J2EE技术来开发这个应用系统,并全面贯彻MVC(ModelViewController)的开发模式。而Struts作为一个实现良好的MVC框架,很好地将应用逻辑、处理过程和显示逻辑分成不同的组件实现,对大型的复杂的Web系统而言,可大大方便代码开发和管理,提高开发效率。正是鉴于此特性,在设计小区物业管理系统时,我们采用了基于Struts框架的系统构建模式。 Struts的体系结构作为一个实现良好的MVC框架,Struts对Model、View和Controller都提供了对应的实现组件,图1所示为Struts体系结构图。下面从模型、视图、控制来介绍Struts的体系结构。图1 Struts构体系结图视图(View)就是一系列提交到客户浏览器进行显示的JSP文件,是用户看到并与之交互的界面。在这些界面中没有业务逻辑,也没有模型信息,只有标签。 模型(Model)表示应用程序的状态和业务逻辑,通常由JavaBean或EJB组件来实现。控制器(Controller)的作用是从客户端接受请求,并且选择执行相应的业务逻辑,然后把响应结果送回到客户端。在Struts中Controller由ActionServlet类和Action类来实现。ActionServlet主要负责接受HTTP请求信息,Action类负责调用模型的方法,更新模型的状态,并帮助控制应用程序的流程。 小区物业管理系统 1、系统功能划分 小区物业管理系统是物业部门用来对住宅小区内的建筑、住户、设备、人员等信息进行综合管理的一个信息管理系统。根据客户要求,系统要能对小区内建筑、公共设备、住户等基本信息实现录入、修改、查询和删除等操作,并且还要实现包括水、电、煤气费在内的各项物业管理费用的统计、查询和报表生成。因此,实现该物业管理系统功能模块图如下: 图2 系统功能模块图各模块实现的功能如下: (1)系统管理模块 系统管理模块是整个物业管理系统的核心,在区分不同用户的使用权限、加强软件使用安全性和保证数据安全方面起着关键的作用。具体包括:用户管理、用户授权、更改密码、系统设置、系统初始化、数据库备份、恢复这几个子模块。 (2)住户管理模块 该模块完成对新增住户基本信息(姓名、人口、住房面积等)的登记和已有住户信息的修改、查询和删除,是系统最基本的功能。该模块具体又分为住户登记、住户修改、住户修改、住户查询和住户删除四个子模块。 (3)设备管理模块 该模块实现对小区内各项公共设备(如:路灯、排水管等)的管理,为各项设备建立信息档案,记录各设备检查维修保养记录。具体又分为设备登记、设备报修、设备检查和设备保养这四个子模块。 (4)房产管理模块 该模块主要是针对小区内的建筑,实现对小区内每一栋建筑、每栋建筑内的每套住房进行管理,考虑到业主对每个单元的买卖变更,该模块还应该包括住房房产所有权的管理。该模块具体分为:建筑图纸管理、户型图纸管理、房产所有权管理等。 (5)人事管理模块 该模块主要是针对物业管理部门内部的工作人员的,实现对物业管理人员、保安/保洁人员的管理。包括:员工信息录入、查询、工资管理、员工考勤记录和员工考核记录这几个子模块。 (6)收费管理模块 该模块主要实现对已经入住的住户进行费用(物业管理费、水费、电费和煤气费)缴纳的各方面管理,具体包括以下几个部分:收费类别设置、收费项目设置、计量单位设置、表设置、用户抄表、应收款和收款单等。 2、系统开发流程采用B/S模型的多层框架结构开发的小区物业管理系统,MVC模式主要对应应用服务器的部分,前端响应用户的请求,后端负责与数据库服务器之间的数据变换,中间为应用逻辑层,负责具体业务的处理。现依据Struts框架的个基本组成部分:视图、模型和控制器,简要描述系统的设计过程4。 (1)视图设计 应用系统的用户界面通常由JSP页面组成。在系统的六个模块中,各类信息的添加、删除、修改和浏览都通过JSP页面进行表现。系统在处理每个数据表示主要是用两个JSP页面进行表示:一个页面用于数据的添加、删除、修改,另一个页面用于数据的浏览。 (2)构建模型 Struts应用框架通常预先为每个应用所需要的输入表单创建一个ActionForm Bean。如果这些bean定义在ActionMapping配置文件中,Struts控制器Servlet将自动执行这些预先设定的操作。因此,在系统开发中,首先为每个模块建立相应的ActionForm Bean,再根据每个模块的实际功能为每个Bean定义用户操作状态和视图中所需要显示数据信息的参数,视图可以通过操作状态的不同进行不同的界面表示。 (3)构建控制器 在Struts应用框架中,中心控制器(ActionServlet)接受所有来自客户端的请求,并根据系统的配置文件Struts-config.xml制定用户HTTP请求到其他Action对象的路径。中心控制器是由Struts框架本身所提供,在系统开发中我们无须对ActionServlet进行再开发,而负责具体业务处理的Action类则是系统开发的重点。 在视图、模型、控制器对象设计完成后,需要编辑两个配置文件:web.xml和struts-config.xml,通过它们配置Struts系统中各个模块之间的交互。 Struts框架在系统开发中的应用 小区物业管理系统是一个复杂的大型Web应用系统,为了能够清楚地描述Struts在系统开发中的应用,本文将以收费管理模块中用户成功登入系统并进行数据录入和查询这一应用为例进行较详尽的说明。 1、分析应用需求 在该应用中,主要事件包括: (1)提供用户登录界面,提示用户输入用户名和密码,并能够对用户在客户端输入的数据进行简单的数据格式验证。若登录成功,转入主操作界面,否则给出错误提示信息,重新登录。 (2)由主操作界面转入物业管理费录入界面,用户在表单中输入相关信息(用户ID、日期),提交表单。若提交表单成功,则转入确认界面,显示用户输入的信息。 (3)由主操作界面转入查询界面,用户输入相关信息后,查询出某段时间内该用户的物业管理费用。 (4)用户退出系统,返回主菜单页面。 2、该应用的具体设计2.1 数据库设计 针对该应用,需在数据库中创建两张表:PORPERTY_TABLE和USER_TABLE,各表结构如下:表1 USER_TABLE 字段 类型 说明 UserName char(25) 记录登录到系统的用户名 Password char(25) 记录登录用户的登录密码 表2 PORPERTY_TABLE 字段 类型 说明 OwnerID char(8) 记录唯一表示每个用户的ID Date datetime(8) 记录缴费日期 RAre float(8) 记录用户的房屋面积 Charge float(8) 记录应该缴纳的物业管理费 FeeState char(20) 显示用户是否缴费 2.2 设计模型组件在Struts框架中,模型组件负责完成业务逻辑。在该应用中,模型组件包括一个实用类DbConnect和两Jave Bean:UserBean和PorpertyBean。实用类DbConnect负责建立和数据库的连接,所提供的connectToDb()方法具体来实现和数据的连接并返回这个连接。UserBean代表用户信息,包括UserName和Password这两个属性。PorpertyBean代表物业费用信息,包括OwnerID、Data、OwnerName等几个属性。这两个JavaBean提供了相应的get/set方法,此外还负责查询以及向数据库中对应的表添加/查询记录。 2.3 用户界面设计用户界面是Web应用和用户的窗口,既可以接受用户的输入信息也可以向用户输出信息。表3列出了该应用中用到的用户界面及其说明。表3 用户界面及其说明 界面 说明 Welcome界面(index.jsp) 显示欢迎光临信息,提供到登入界面的链接 登入界面(logon.jsp) 提示输入用户名和密码 主操作菜单界面(mainmenu.jsp) 提供系统所有操作菜单 物业收费数据录入界面(input.jsp) 提示输入有关物业费用相关信息 收费确认界面(confirmation.jsp) 根据用户录入的信息返回该用户物业费用的所有信息(如:应缴的费用,是否已缴费等) 物业费查询界面(search.jsp) 提供用户输入相关查询条件 显示查询结果界面(display.jsp) 根据用户查询条件显示查询结果 为保持该应用中所有界面风格的一致性,在设计上述这些界面的过程中,我们除了使用标准的JSP语句外,还使用了Struts的Titles框架来创建复合式的JSP页面,使所有界面具有相同的页头和页脚。2.4、设计ActionFormActionForm Bean用于在视图组件和控制器组件之间传递HTML表单数据。通常每个HTML表单对应一个ActionForm Bean,每个ActionForm的validate( )方法用于实现对用户输入数据进行格式和语法检查。在该应用中包含三个ActionForm Bean:LogonForm、InputForm和SearchForm。 2.5、设计Action和Action映射在Struts框架中,Action实现各个事件的流程控制,Action映射决定Action与其他web组件之间的关联关系。表4列出了该应用中用到的Action、每个Action的入口(调用Action的组件)、传递给Action的ActionForm以及每个Action把请求转发到的目标组件即出口。表4 该应用中的Action Action 入口 ActionForm 出口 LogonAction logon.jsp LogonForm mainmenu.jsp InputAction input.jsp InputForm confirmation.jsp SearchAction search.jsp SearchForm display.jsp LogoffAction mainmenu.jsp 无 index.jsp 图3给出了该应用中Action组件与其它组件的映射关系图。 图3 Action映射图上述所有Action组件需要在Struts的配置文件strutsconfig.xml中配置其映射关系。 应用Struts框架的优点 (1)整个物业管理系统包括上百个文件,若采用传统的结构,要弄清楚某个视图是使用什么模型来处理逻辑是件很复杂的事。而采用Struts框架来开发的应用系统,依靠JSP和Struts-config.xml以及它们间的统一命名规则却很容易地进行系统流程的查勘、修改和理解。只要根据视图Form表单的Action,在配置文件中找到同名的Action定义,就可以得知其路径以及相应的FormBean。 (2)Struts中所有逻辑处理都封装在class内,视图部分不再介入逻辑的处理,计算和显示清楚地分开了,在JSP页面上没有出现处理过程,在Servlet或商业逻辑中没有数据格式。并且基于Struts框架开发出的JSP代码也很简洁,JSP页面
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广西壮族自治区卫生健康委员会机关服务中心招聘第二批编外聘用人员1人模拟试卷附答案详解(模拟题)
- 2025内蒙古巴彦淖尔市能源(集团)有限公司招聘48人(第一批)模拟试卷及答案详解(夺冠系列)
- 2025吉林省省直事业单位招聘186人(1号)模拟试卷及一套答案详解
- 2025河南农商银行系统社会招聘模拟试卷附答案详解(突破训练)
- 2025贵州普定县人民法院招聘公益性岗位人员模拟试卷及答案详解(各地真题)
- 2025江西吉安市市属国有企业资产经营有限公司招聘1人模拟试卷带答案详解
- 2025江苏南京公共交通(集团)有限公司招聘1人模拟试卷及答案详解(夺冠系列)
- 2025安徽师范大学招聘51人考前自测高频考点模拟试题及答案详解(网校专用)
- 2025年泉州晋江国际机场股份有限公司及其权属公司招聘考前自测高频考点模拟试题及答案详解(名校卷)
- 2025年合肥长丰县下塘镇招聘村(社区)后备干部12人考前自测高频考点模拟试题附答案详解(考试直接用)
- 医院非暴力沟通小讲课
- 2025至2030年中国山西省房地产行业发展监测及投资前景展望报告
- 第4课洋务运动与边疆危机(任务型导学案)(原卷版)
- 创建文明班级班会课件
- 2025年新修订治安管理处罚法课件
- 社会渠道支撑管理制度
- DBJ50-T-047-2024 建筑地基基础设计标准
- 呼吸科出科小讲课
- 2025年中国红富士苹果市场深度调研研究报告
- 钢结构项目可行性研究报告(立项申请报告)模板
- 仓库员工考试题及答案
评论
0/150
提交评论