下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、Struts框架在小區(qū)物業(yè)管理系統(tǒng)中的應(yīng)用 摘要 Struts提供了一個非常好的MVC框架,在Web應(yīng)用開發(fā)中把界面和業(yè)務(wù)邏輯分離,提高了代碼的可重用性和靈活性。文中首先介紹了Struts概念和體系結(jié)構(gòu),闡述了Struts的工作原理。然后介紹了小區(qū)物業(yè)管理系統(tǒng)各個功能模塊以及整個系統(tǒng)基于Struts的
2、開發(fā)流程。最后,通過一個應(yīng)用示例,詳細介紹了Struts框架在系統(tǒng)開發(fā)中的應(yīng)用。關(guān)鍵詞 MVC;Struts框架;Web;物業(yè)管理系統(tǒng);0 前言物業(yè)管理系統(tǒng)是近年來為適應(yīng)小區(qū)建設(shè)和管理而興起的一種新型產(chǎn)業(yè),它的出現(xiàn)為住宅小區(qū)的現(xiàn)代化管理提供了保障。目前,物業(yè)管理系統(tǒng)的開發(fā)方法很多,但多數(shù)系統(tǒng)在開發(fā)中存在系統(tǒng)結(jié)構(gòu)復(fù)雜、代碼重用率低、網(wǎng)頁設(shè)計和軟件開發(fā)相互制約導(dǎo)致開發(fā)效率低下等不盡人意的地方1。在系統(tǒng)設(shè)計過程中,我們綜合考慮系統(tǒng)結(jié)構(gòu)、開發(fā)周期以及代碼重用等方面,決定采用先進的J2EE技術(shù)來開發(fā)這個應(yīng)用系統(tǒng),并全面貫徹MVC(ModelViewController)的開發(fā)模式。而Stru
3、ts作為一個實現(xiàn)良好的MVC框架,很好地將應(yīng)用邏輯、處理過程和顯示邏輯分成不同的組件實現(xiàn),對大型的復(fù)雜的Web系統(tǒng)而言,可大大方便代碼開發(fā)和管理,提高開發(fā)效率。正是鑒于此特性,在設(shè)計小區(qū)物業(yè)管理系統(tǒng)時,我們采用了基于Struts框架的系統(tǒng)構(gòu)建模式2。1 Struts的體系結(jié)構(gòu)作為一個實現(xiàn)良好的MVC框架,Struts對Model、View和Controller都提供了對應(yīng)的實現(xiàn)組件,圖1所示為Struts體系結(jié)構(gòu)圖。下面從模型、視圖、控制來介紹Struts的體系結(jié)構(gòu)3。 圖1 Struts構(gòu)體系結(jié)圖視圖(View)就是一系列提交到客戶瀏覽器進行顯示的JSP文
4、件,是用戶看到并與之交互的界面。在這些界面中沒有業(yè)務(wù)邏輯,也沒有模型信息,只有標簽。模型(Model)表示應(yīng)用程序的狀態(tài)和業(yè)務(wù)邏輯,通常由JavaBean或EJB組件來實現(xiàn)??刂破鳎–ontroller)的作用是從客戶端接受請求,并且選擇執(zhí)行相應(yīng)的業(yè)務(wù)邏輯,然后把響應(yīng)結(jié)果送回到客戶端。在Struts中Controller由ActionServlet類和Action類來實現(xiàn)。ActionServlet主要負責(zé)接受HTTP請求信息,Action類負責(zé)調(diào)用模型的方法,更新模型的狀態(tài),并幫助控制應(yīng)用程序的流程。2 小區(qū)物業(yè)管理系統(tǒng)2.1 系統(tǒng)功能劃分小區(qū)物業(yè)管理系統(tǒng)是物業(yè)部門用來對住宅小區(qū)內(nèi)的建筑、住
5、戶、設(shè)備、人員等信息進行綜合管理的一個信息管理系統(tǒng)。根據(jù)客戶要求,系統(tǒng)要能對小區(qū)內(nèi)建筑、公共設(shè)備、住戶等基本信息實現(xiàn)錄入、修改、查詢和刪除等操作,并且還要實現(xiàn)包括水、電、煤氣費在內(nèi)的各項物業(yè)管理費用的統(tǒng)計、查詢和報表生成。因此,實現(xiàn)該物業(yè)管理系統(tǒng)功能模塊圖如下:圖2 系統(tǒng)功能模塊圖各模塊實現(xiàn)的功能如下:(1)系統(tǒng)管理模塊系統(tǒng)管理模塊是整個物業(yè)管理系統(tǒng)的核心,在區(qū)分不同用戶的使用權(quán)限、加強軟件使用安全性和保證數(shù)據(jù)安全方面起著關(guān)鍵的作用。具體包括:用戶管理、用戶授權(quán)、更改密碼、系統(tǒng)設(shè)置、系統(tǒng)初始化、數(shù)據(jù)庫備份、恢復(fù)這幾個子模塊。(2)住戶管理模塊 該模塊完成對新
6、增住戶基本信息(姓名、人口、住房面積等)的登記和已有住戶信息的修改、查詢和刪除,是系統(tǒng)最基本的功能。該模塊具體又分為住戶登記、住戶修改、住戶修改、住戶查詢和住戶刪除四個子模塊。(3)設(shè)備管理模塊該模塊實現(xiàn)對小區(qū)內(nèi)各項公共設(shè)備(如:路燈、排水管等)的管理,為各項設(shè)備建立信息檔案,記錄各設(shè)備檢查維修保養(yǎng)記錄。具體又分為設(shè)備登記、設(shè)備報修、設(shè)備檢查和設(shè)備保養(yǎng)這四個子模塊。(4)房產(chǎn)管理模塊該模塊主要是針對小區(qū)內(nèi)的建筑,實現(xiàn)對小區(qū)內(nèi)每一棟建筑、每棟建筑內(nèi)的每套住房進行管理,考慮到業(yè)主對每個單元的買賣變更,該模塊還應(yīng)該包括住房房產(chǎn)所有權(quán)的管理。該模塊具體分為:建筑圖紙管理、戶型圖紙管理、房產(chǎn)所有權(quán)管理等
7、。(5)人事管理模塊該模塊主要是針對物業(yè)管理部門內(nèi)部的工作人員的,實現(xiàn)對物業(yè)管理人員、保安/保潔人員的管理。包括:員工信息錄入、查詢、工資管理、員工考勤記錄和員工考核記錄這幾個子模塊。(6)收費管理模塊該模塊主要實現(xiàn)對已經(jīng)入住的住戶進行費用(物業(yè)管理費、水費、電費和煤氣費)繳納的各方面管理,具體包括以下幾個部分:收費類別設(shè)置、收費項目設(shè)置、計量單位設(shè)置、表設(shè)置、用戶抄表、應(yīng)收款和收款單等。2.2 系統(tǒng)開發(fā)流程采用B/S模型的多層框架結(jié)構(gòu)開發(fā)的小區(qū)物業(yè)管理系統(tǒng),MVC模式主要對應(yīng)應(yīng)用服務(wù)器的部分,前端響應(yīng)用戶的請求,后端負責(zé)與數(shù)據(jù)庫服務(wù)器之間的數(shù)據(jù)變換,中間為應(yīng)用邏輯層,負責(zé)具體業(yè)務(wù)的處理。現(xiàn)依
8、據(jù)Struts框架的個基本組成部分:視圖、模型和控制器,簡要描述系統(tǒng)的設(shè)計過程4。(1)視圖設(shè)計應(yīng)用系統(tǒng)的用戶界面通常由JSP頁面組成。在系統(tǒng)的六個模塊中,各類信息的添加、刪除、修改和瀏覽都通過JSP頁面進行表現(xiàn)。系統(tǒng)在處理每個數(shù)據(jù)表示主要是用兩個JSP頁面進行表示:一個頁面用于數(shù)據(jù)的添加、刪除、修改,另一個頁面用于數(shù)據(jù)的瀏覽。(2)構(gòu)建模型Struts應(yīng)用框架通常預(yù)先為每個應(yīng)用所需要的輸入表單創(chuàng)建一個ActionForm Bean。如果這些bean定義在ActionMapping配置文件中,Struts控制器Servlet將自動執(zhí)行這些預(yù)先設(shè)定的操作。因此,在系統(tǒng)開發(fā)中,首先為每個模塊建立相
9、應(yīng)的ActionForm Bean,再根據(jù)每個模塊的實際功能為每個Bean定義用戶操作狀態(tài)和視圖中所需要顯示數(shù)據(jù)信息的參數(shù),視圖可以通過操作狀態(tài)的不同進行不同的界面表示。(3)構(gòu)建控制器在Struts應(yīng)用框架中,中心控制器(ActionServlet)接受所有來自客戶端的請求,并根據(jù)系統(tǒng)的配置文件Struts-config.xml制定用戶HTTP請求到其他Action對象的路徑。中心控制器是由Struts框架本身所提供,在系統(tǒng)開發(fā)中我們無須對ActionServlet進行再開發(fā),而負責(zé)具體業(yè)務(wù)處理的Action類則是系統(tǒng)開發(fā)的重點。在視圖、模型、控制器對象設(shè)計完成后,需要編輯兩個配置文件:we
10、b.xml和struts-config.xml,通過它們配置Struts系統(tǒng)中各個模塊之間的交互。3 Struts框架在系統(tǒng)開發(fā)中的應(yīng)用小區(qū)物業(yè)管理系統(tǒng)是一個復(fù)雜的大型Web應(yīng)用系統(tǒng),為了能夠清楚地描述Struts在系統(tǒng)開發(fā)中的應(yīng)用,本文將以收費管理模塊中用戶成功登入系統(tǒng)并進行數(shù)據(jù)錄入和查詢這一應(yīng)用為例進行較詳盡的說明。
11、 3.1分析應(yīng)用需求在該應(yīng)用中,主要事件包括:(1)提供用戶登錄界面,提示用戶輸入用戶名和密碼,并能夠?qū)τ脩粼诳蛻舳溯斎氲臄?shù)據(jù)進行簡單的數(shù)據(jù)格式驗證。若登錄成功,轉(zhuǎn)入主操作界面,否則給出錯誤提示信息,重新登錄。(2)由主操作界面轉(zhuǎn)入物業(yè)管理費錄入界面,用戶在表單中輸入相關(guān)信息(用戶ID、日期),提交表單。若提交表單成功,則轉(zhuǎn)入確認界面,顯示用戶輸入的信息。(3)由主操作界面轉(zhuǎn)入查詢界面,用戶輸入相關(guān)信息后,查詢出某段時間內(nèi)該用戶的物業(yè)管理費用。(4)用戶退出系統(tǒng),返回主菜單頁面。3.2 該應(yīng)用的具體設(shè)計3.2.1 數(shù)據(jù)庫設(shè)計
12、 針對該應(yīng)用,需在數(shù)據(jù)庫中創(chuàng)建兩張表:PORPERTY_TABLE和USER_TABLE,各表結(jié)構(gòu)如下:表1 USER_TABLE字段類型說明UserNamechar(25)記錄登錄到系統(tǒng)的用戶名Passwordchar(25)記錄登錄用戶的登錄密碼 表2 PORPERTY_TABLE字段類型說明OwnerIDchar(8)記錄唯一表示每個用戶的ID Datedatetime(8)記錄繳費日期RArefloat(8)記錄用戶的房屋面積Chargefloat(8)記錄應(yīng)該繳納的物業(yè)管理費FeeState
13、char(20)顯示用戶是否繳費3.2.2 設(shè)計模型組件在Struts框架中,模型組件負責(zé)完成業(yè)務(wù)邏輯。在該應(yīng)用中,模型組件包括一個實用類DbConnect和兩Jave Bean:UserBean和PorpertyBean。實用類DbConnect負責(zé)建立和數(shù)據(jù)庫的連接,所提供的connectToDb()方法具體來實現(xiàn)和數(shù)據(jù)的連接并返回這個連接。UserBean代表用戶信息,包括UserName和Password這兩個屬性。PorpertyBean代表物業(yè)費用信息,包括OwnerID、Data、OwnerName等幾個屬性。這兩個JavaBean提供了相應(yīng)的get/set方法,此外還負責(zé)查詢以及向數(shù)據(jù)庫中對應(yīng)的表添加/查詢記錄。3.2.3 用戶界面設(shè)計用戶界面是Web應(yīng)用和用戶的窗口,既可以接受用戶的輸入信息也可以向用戶輸出信息。表
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 神經(jīng)外科低鈉血癥治療指南
- 風(fēng)帶來的好處和壞處活動
- 企業(yè)班組安全教育
- 第六章 機械能守恒定律-功和功率 2025年高考物理基礎(chǔ)專項復(fù)習(xí)
- 示出塞課件教學(xué)課件
- 3.1.1 鐵及其化合物 課件 上學(xué)期化學(xué)人教版(2019)必修第一冊
- 慢病專員工作匯報
- 吉林省2024七年級數(shù)學(xué)上冊第2章整式及其加減期末提分課件新版華東師大版
- 常見的安全標志教案及反思大班
- 氧化碳的說課稿
- (新版)網(wǎng)約配送員職業(yè)技能競賽理論考試題庫500題(含答案)
- 綠化養(yǎng)護服務(wù)投標方案(技術(shù)標)
- 高考生物選擇性必修1穩(wěn)態(tài)與調(diào)節(jié)基礎(chǔ)知識填空默寫(每天打卡)
- 專題12 應(yīng)用文寫作-【中職專用】備戰(zhàn)2025年對口高考語文題型專練 (解析版)
- 代孕合同范本
- 供暖管道改造工程施工方案
- 數(shù)列高考考情分析
- 教師職業(yè)生涯規(guī)劃
- 江蘇省泰州市靖江實驗學(xué)校2022-2023學(xué)年七年級上學(xué)期期中生物試卷(解析版)
- 西師大版2023-2024學(xué)年五年級數(shù)學(xué)上冊期末測試卷含答案
- 小學(xué)綜合實踐活動《水果拼盤》教學(xué)設(shè)計
評論
0/150
提交評論