Struts框架在小区物业管理系统中的应用
文章作者 100test 发表时间 2007:03:13 22:16:01
来源 100Test.Com百考试题网
摘要 Struts提供了一个非常好的MVC框架,在Web应用开发中把界面和业务逻辑分离,提高了代码的可重用性和灵活性。文中首先介绍了Struts概念和体系结构,阐述了Struts的工作原理。然后介绍了小区物业管理系统各个功能模块以及整个系统基于Struts的开发流程。最后,通过一个应用示例,详细介绍了Struts框架在系统开发中的应用。
关键词 MVC;Struts框架;Web;物业管理系统;
0 前言
物业管理系统是近年来为适应小区建设和管理而兴起的一种新型产业,它的出现为住宅小区的现代化管理提供了保障。目前,物业管理系统的开发方法很多,但多数系统在开发中存在系统结构复杂、代码重用率低、网页设计和软件开发相互制约导致开发效率低下等不尽人意的地方 [1] 。在系统设计过程中,我们综合考虑系统结构、开发周期以及代码重用等方面,决定采用先进的J2EE技术来开发这个应用系统,并全面贯彻MVC(Model-View-Controller)的开发模式。而Struts作为一个实现良好的MVC框架,很好地将应用逻辑、处理过程和显示逻辑分成不同的组件实现,对大型的复杂的Web系统而言,可大大方便代码开发和管理,提高开发效率。正是鉴于此特性,在设计小区物业管理系统时,我们采用了基于Struts框架的系统构建模式 [2] 。
1 Struts 的体系结构
作为一个实现良好的MVC框架,Struts对Model、View和Controller都提供了对应的实现组件,图1所示为Struts体系结构图。下面从模型、视图、控制来介绍Struts的体系结构 [3] 。
![](/soft/Files/2006-12/27/1019264961.gif)
图1 Struts构体系结图
视图(View)就是一系列提交到客户浏览器进行显示的JSP文件,是用户看到并与之交互的界面。在这些界面中没有业务逻辑,也没有模型信息,只有标签。 模型(Model)表示应用程序的状态和业务逻辑,通常由JavaBean或EJB组件来实现。 控制器(Controller)的作用是从客户端接受请求,并且选择执行相应的业务逻辑,然后把响应结果送回到客户端。在Struts中Controller由ActionServlet类和Action类来实现。ActionServlet主要负责接受HTTP请求信息,Action类负责调用模型的方法,更新模型的状态,并帮助控制应用程序的流程。来源:www.examda.com
2 小区物业管理系统
2.1 系统功能划分
小区物业管理系统是物业部门用来对住宅小区内的建筑、住户、设备、人员等信息进行综合管理的一个信息管理系统。根据客户要求,系统要能对小区内建筑、公共设备、住户等基本信息实现录入、修改、查询和删除等操作,并且还要实现包括水、电、煤气费在内的各项物业管理费用的统计、查询和报表生成。因此,实现该物业管理系统功能模块图如下:
![](/soft/Files/2006-12/27/1019268991.gif)
图2 系统功能模块图
各模块实现的功能如下:
(1)系统管理模块 系统管理模块是整个物业管理系统的核心,在区分不同用户的使用权限、加强软件使用安全性和保证数据安全方面起着关键的作用。具体包括:用户管理、用户授权、更改密码、系统设置、系统初始化、数据库备份、恢复这几个子模块。
(2)住户管理模块 该模块完成对新增住户基本信息(姓名、人口、住房面积等)的登记和已有住户信息的修改、查询和删除,是系统最基本的功能。该模块具体又分为住户登记、住户修改、住户修改、住户查询和住户删除四个子模块。
(3)设备管理模块 该模块实现对小区内各项公共设备(如:路灯、排水管等)的管理,为各项设备建立信息档案,记录各设备检查\维修\保养记录。具体又分为设备登记、设备报修、设备检查和设备保养这四个子模块。
(4)房产管理模块 该模块主要是针对小区内的建筑,实现对小区内每一栋建筑、每栋建筑内的每套住房进行管理,考虑到业主对每个单元的买卖变更,该模块还应该包括住房房产所有权的管理。该模块具体分为:建筑图纸管理、户型图纸管理、房产所有权管理等。
(5)人事管理模块 该模块主要是针对物业管理部门内部的工作人员的,实现对物业管理人员、保安/保洁人员的管理。包括:员工信息录入、查询、工资管理、员工考勤记录和员工考核记录这几个子模块。
(6)收费管理模块 该模块主要实现对已经入住的住户进行费用(物业管理费、水费、电费和煤气费)缴纳的各方面管理,具体包括以下几个部分:收费类别设置、收费项目设置、计量单位设置、表设置、用户抄表、应收款和收款单等。来源:www.examda.com
2.2 系统开发流程
采用B/S模型的多层框架结构开发的小区物业管理系统,MVC模式主要对应应用服务器的部分,前端响应用户的请求,后端负责与数据库服务器之间的数据变换,中间为应用逻辑层,负责具体业务的处理。现依据Struts框架的3个基本组成部分:视图、模型和控制器,简要描述系统的设计过程 [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系统中各个模块之间的交互。
3 Struts 框架在系统开发中的应用
小区物业管理系统是一个复杂的大型Web应用系统,为了能够清楚地描述Struts在系统开发中的应用,本文将以收费管理模块中用户成功登入系统并进行数据录入和查询这一应用为例进行较详尽的说明。
3.1 分析应用需求
在该应用中,主要事件包括:
(1)提供用户登录界面,提示用户输入用户名和密码,并能够对用户在客户端输入的数据进行简单的数据格式验证。若登录成功,转入主操作界面,否则给出错误提示信息,重新登录。
(2)由主操作界面转入物业管理费录入界面,用户在表单中输入相关信息(用户ID、日期),提交表单。若提交表单成功,则转入确认界面,显示用户输入的信息。
(3)由主操作界面转入查询界面,用户输入相关信息后,查询出某段时间内该用户的物业管理费用。
(4)用户退出系统,返回主菜单页面。