国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于SSH架構(gòu)的公租房管理系統(tǒng)的設(shè)計與實現(xiàn)

2012-07-16 07:15:04高繼森張彥全
關(guān)鍵詞:房源租房架構(gòu)

高繼森,張彥全

?

基于SSH架構(gòu)的公租房管理系統(tǒng)的設(shè)計與實現(xiàn)

高繼森,張彥全

(蘭州交通大學(xué) 電子與信息工程學(xué)院,甘肅 蘭州 730070)

為更好地管理公租房,基于J2EE輕量級開發(fā)架構(gòu)SSH的B/S模式開發(fā)了公租房管理系統(tǒng). 系統(tǒng)在提高公租房管理效率和加強市場監(jiān)管方面取得了很好的效果,實現(xiàn)了公租房管理的信息化.

房地產(chǎn);公租房管理;SSH架構(gòu)

為有效管理公共租賃住房(以下簡稱公租房),使公租房的申請、審核、公示、輪候、配租和租后管理的一系列環(huán)節(jié)結(jié)合緊密,且配租過程公開透明、結(jié)果公平公正,實現(xiàn)公租房管理的信息化是有效手段. 本文以Eclipse為平臺,開發(fā)了基于J2EE的輕量級架構(gòu)Struts-Spring-Hibernate(SSH)的公租房管理系統(tǒng),該系統(tǒng)主要負(fù)責(zé)對所轄地區(qū)公租房的管理,其主要功能包括公租房房源管理(包括直管公租房、廉租房、公有商業(yè)用房),公租房申請、審核、配租、月租收繳等一系列環(huán)節(jié)的管理.

1 Eclipse平臺與SSH架構(gòu)

Eclipse是一個開放源碼的通用開發(fā)環(huán)境(IDE),具有開放的、通用的、可擴(kuò)展的集成開發(fā)環(huán)境,插件豐富、系統(tǒng)兼容性高. 本系統(tǒng)以Eclipse為開發(fā)平臺,能滿足公租房管理系統(tǒng)的開發(fā)要求.

SSH架構(gòu)是開源的基于J2EE輕量級架構(gòu)的3層框架體系. Struts框架作為表示層,主控邏輯關(guān)系的處理;Spring作為業(yè)務(wù)邏輯層,是控制反轉(zhuǎn)(IoC)和面向切面(AOP)的編程解耦容器,負(fù)責(zé)控制程序之間的(依賴)關(guān)系;Hibernate作為持久層[1],提供從Java類到數(shù)據(jù)表的映射,也提供數(shù)據(jù)查詢和恢復(fù)等機(jī)制,可大大減少數(shù)據(jù)訪問的復(fù)雜度,能把對數(shù)據(jù)庫的直接操作轉(zhuǎn)換為對持久對象的操作[2].

2 公租房管理系統(tǒng)設(shè)計

2.1 系統(tǒng)功能結(jié)構(gòu)設(shè)計

房管局對公租房的管理主要有幾大業(yè)務(wù),分別是對房源的管理、對租戶的管理、對房租的管理以及一些數(shù)據(jù)的管理. 系統(tǒng)功能結(jié)構(gòu)設(shè)計如圖1所示.

圖1 系統(tǒng)功能結(jié)構(gòu)

各模塊功能描述如下:

1)房源管理

房源管理包括房源(公租房、廉租房、商業(yè)用房)錄入和房源信息管理(房源信息的增、刪、改和查). 房源錄入時,首先選擇錄入房源的性質(zhì),然后依次錄入該房源的各項信息. 查詢房源信息時,在頁面輸入查詢條件開始查詢. 同時可以修改或注銷房源信息.

2)租賃戶管理

租賃戶管理包括公租房申請退出、租賃戶登記、租賃戶信息管理和租賃證管理4個子模塊. 其中公租房申請退出主要負(fù)責(zé)住戶對公租房的申請管理和注銷管理. 租賃證管理主要負(fù)責(zé)對租賃證的過戶換證和遺失補辦管理.

3)費用管理

費用管理包括用戶繳費和臺賬管理2個模塊. 其中用戶繳費負(fù)責(zé)對直管公租房、廉租房和商業(yè)用房依據(jù)相關(guān)規(guī)定收費以及稅票的打印.

4)檔案管理

檔案管理實現(xiàn)檔案的上傳、下載、查閱功能. 包括對租賃戶基礎(chǔ)檔案信息的掃描、歸檔,合同租賃證入檔和房維維修檔案.

5)統(tǒng)計查詢

統(tǒng)計查詢包括費用收繳查詢、租賃情況查詢、資產(chǎn)存量情況查詢和報表管理4個子模塊. 主要功能有:按片區(qū)統(tǒng)計收費情況(應(yīng)收、實收、欠收),按房屋權(quán)屬性質(zhì)統(tǒng)計收費情況(應(yīng)收、實收、欠收),按房屋結(jié)構(gòu)統(tǒng)計收費情況(應(yīng)收、實收、欠收),租賃情況統(tǒng)計(出租、空置、回收情況),資產(chǎn)存量情況(按片區(qū)、房屋權(quán)屬、房屋結(jié)構(gòu)情況統(tǒng)計). 報表管理主要完成綜合情況月報表和綜合情況年報表的生成.

6)數(shù)據(jù)維護(hù)

數(shù)據(jù)維護(hù)包括房屋維修申報管理和公共字段維護(hù). 其中公共字段維護(hù)包括房屋片區(qū)、房屋街道、房屋方位、房屋狀態(tài)、房屋類型、辦證類型、樓層、房屋結(jié)構(gòu)維護(hù)等.

2.2 系統(tǒng)架構(gòu)設(shè)計

SSH框架中,Struts框架實現(xiàn)用戶界面的各個WEB頁面,業(yè)務(wù)邏輯層利用Spring的反轉(zhuǎn)控制模式,Hibernate控制對數(shù)據(jù)庫的操作[3],架構(gòu)設(shè)計如圖2所示.

圖 2 系統(tǒng)架構(gòu)

2.3 業(yè)務(wù)流程設(shè)計

對房管局公租房管理業(yè)務(wù)調(diào)研以后,對公租房管理系統(tǒng)的整體業(yè)務(wù)流程設(shè)計如圖3所示.

圖3 公租房管理整體業(yè)務(wù)流程

2.4 數(shù)據(jù)庫關(guān)系圖設(shè)計

由于篇幅有限,這里只列出本系統(tǒng)主要的數(shù)據(jù)庫關(guān)系圖.

圖3 主要數(shù)據(jù)庫關(guān)系圖

3 系統(tǒng)實現(xiàn)

3.1 創(chuàng)建開發(fā)環(huán)境

Eclipse中已經(jīng)集成有Struts、Spring、Hibernate不同版本的包. 創(chuàng)建開發(fā)環(huán)境的步驟依次為:新建Web項目,添加Struts支持,創(chuàng)建數(shù)據(jù)庫連接,添加Hibernate支持,添加Spring支持. 本系統(tǒng)采用的版本分別為Struts1.1,Spring2.0,Hibernage3.2[4]. 新建項目后,在項目名上單擊右鍵,鼠標(biāo)在快捷菜單上選擇MyEclipse出現(xiàn)二級菜單,依次選擇添加各種包,然后新建需要存放Java文件包的文件夾,依次搭建好SSH開發(fā)環(huán)境.

3.2 持久層實現(xiàn)

持久層是通過Hibernate框架完成的. Spring除幫助使用Hibernate外,它還是一個輕量級的容器,能夠組織數(shù)據(jù)訪問對象DAO和資源(如JDBC DataSource和Hibernate SessionFactory),使用集中的XML文件來管理資源. 公租房管理系統(tǒng)的數(shù)據(jù)庫連接配置在Hibernate.cfg.xml文件中. Hibernate負(fù)責(zé)從數(shù)據(jù)源中獲得數(shù)據(jù),然后生成持久對象(per-sistence objects,PO),再把PO傳給業(yè)務(wù)邏輯層.

public class Gf001 implements java.io.Serializable {

private String gf00101; // 租賃證編號

private Gfcommon010 gfcommon010; // 公共字段辦證類型編號

private Gf002 gf002; // 房屋編號

private String gf00102; //承租人姓名

private String gf00103; //承租人身份證號

…… } //省略其他get、set方法

系統(tǒng)中把域模型層的VO作為域?qū)ο?,域?qū)ο缶褪侵负唵蔚腏avaBean對象,其屬性對應(yīng)于業(yè)務(wù)對象中的各個屬性字段,能利用Hibernate框架的對象關(guān)系映射(O/R Mapping)來完成與數(shù)據(jù)庫的交互.

//數(shù)據(jù)類型

//數(shù)據(jù)字段自動增加方式

//外鍵多對一關(guān)系

//字符型

//雙精度型

//日期類型

…… //省略其他字段映射信息

//主鍵

承租人信息登記模塊DAO類實現(xiàn)如下:

//保存租賃戶信息

public void save(Gf001 transientInstance) {

log.debug("saving Gf001 instance");

try {

getHibernateTemplate().save(transientInstance);

log.debug("save successful");

} catch (RuntimeException re) {

log.error("save failed",re);

throw re;

}

}

//刪除租賃戶信息

public void delete(Gf001 persistentInstance) {

log.debug("deleting Gf001 instance");

try {

getHibernateTemplate().delete(persistentInstance);

log.debug("delete successful");

} catch (RuntimeException re) {

log.error("delete failed",re);

throw re;

}

}

//通過主鍵ID查找租賃戶信息

public Gf001 findById(java.lang.String id) {

log.debug("getting Gf001 instance with id: " + id);

try {

Gf001 instance = (Gf001) getHibernateTemplate().get(

"com.lzkx.pojo.Gf001",id);

return instance;

} catch (RuntimeException re) {

log.error("get failed",re);

throw re;

}

}

3.3 業(yè)務(wù)層實現(xiàn)

IoC(Inverse of Control,控制反轉(zhuǎn))是整個Spring的核心,邏輯接口和實現(xiàn)類在系統(tǒng)的業(yè)務(wù)邏輯層,在業(yè)務(wù)邏輯實現(xiàn)類中,將利用依賴注入得到與DAO的依賴關(guān)系.

承租人信息登記模塊業(yè)務(wù)層實現(xiàn)類代碼如下.

public class Gf001Biz {

private Gf001DAO gf001dao;

public Gf001DAO getGf001dao() { //承租人信息DAO的get、set方法

return gf001dao;

}

public void setGf001dao(Gf001DAO gf001dao) {

this.gf001dao = gf001dao;

}

public void save(Gf001 gf001){ //保存租賃戶信息DAO方法

gf001dao.save(gf001);

}

public void delete(Gf001 gf001){ //刪除租賃戶信息DAO方法

gf001dao.delete(gf001);

}

public Gf001 merge(Gf001 gf001){ //更新租賃戶信息DAO方法

return gf001dao.merge(gf001);

}

public List findByProperty(String propertyName,Object value) {

return gf001dao.findByProperty(propertyName,value);

} //通過承租人姓名查找租賃戶信息DAO方法

public Gf001 findById(String id){ //通過主鍵ID查找租賃戶信息DAO方法

return gf001dao.findById(id);

}

}

3.4 表示層實現(xiàn)

表示層中使用Struts整合具有Spring風(fēng)格的業(yè)務(wù)層和持久層,struts-config.xml文件中的每一個元素都對應(yīng)于ActionMapping類的一個實例,同時需要配置struts-config.xml和applicationContext.xml兩文件,ActionForm、applicationContext.xml中需要注入數(shù)據(jù)庫配置信息、SessionFactory、事物管理、持久層和業(yè)務(wù)層.

在整個應(yīng)答過程中,客戶端發(fā)送出一個HTTP請求,即租賃戶從網(wǎng)上提交表單或調(diào)用URL向Web應(yīng)用程序器提交一個數(shù)據(jù)處理請求,請求的數(shù)據(jù)通過HTTP協(xié)議上傳給Web服務(wù)器. 總控制器截獲這個請求并實例化,通過HTTP請求的數(shù)據(jù)填充其屬性,然后保存在ServletContext中,這樣它們就可以被其他Action對象或者JSP調(diào)用控制器將請求轉(zhuǎn)交給具體的Action處理[5]. 控制器根據(jù)配置信息將請求切換到具體的Action,Action動作由Spring進(jìn)行管理,繼續(xù)將任務(wù)交給Service處理,Service則依靠具體的DAO來實施數(shù)據(jù)的處理任務(wù). Spring框架用applicationContext.xml文件使Action、Service與DAO關(guān)聯(lián)起來.

4 結(jié)束語

本文結(jié)合實際項目,分析了Struts,Spring和Hibernate框架的關(guān)系及三種框架的整合在公租房管理系統(tǒng)中的深層應(yīng)用,以實際需求為設(shè)計依據(jù),并以Eclipse為開發(fā)平臺,使用J2EE輕量級開發(fā)架構(gòu)SSH設(shè)計了公租房管理系統(tǒng).

本系統(tǒng)中,租賃戶提出HTTP Requet,Servlet Controller調(diào)用Jsp頁面請求,Struts配置文件根據(jù)Action調(diào)用業(yè)務(wù)邏輯接口ServiceInterfacer,業(yè)務(wù)邏輯實現(xiàn)ServiceImplement調(diào)用持久層接口DAOInterfacer,持久層實現(xiàn)DAOImplement調(diào)用數(shù)據(jù)庫. 可見,整個數(shù)據(jù)調(diào)用過程簡單,實時性強,實現(xiàn)了對房地產(chǎn)公共租賃住房的高效管理和資源共享,具有一定的應(yīng)用價值. 本論文在研究與實現(xiàn)當(dāng)中也存在一些不足:一方面對基于SSH架構(gòu)公租房管理系統(tǒng)的安全策略需要做進(jìn)一步的研究;另一方面,對SSH架構(gòu)公租房管理系統(tǒng)在決策支持、預(yù)警預(yù)報方面需要深入分析.

[1] 林信良. Spring2.0技術(shù)手冊[M]. 北京:電子工業(yè)出版社,2007.

[2] 劉中兵. 開發(fā)者突擊:Java Web主流框架整[M]. 北京:電子工業(yè)出版社,2008.

[3] 陳剛. Eclipse從入門到精通[M]. 2版. 北京:清華大學(xué)出版社,2007.

[4] JENDROCK E, BALL J, CARSON D, EVANS I, FORDIN S, HAASE K. The Java EE5 Tutorial[M]. 北京:機(jī)械工業(yè)出版社,2008.

[5] 徐明華,邱力詠. Struts基礎(chǔ)與案例開發(fā)詳解[M]. 北京:清華大學(xué)出版社,2009.

Design and Implementation of a Public Housing Management System Based on SSH

GAOJi-sen, ZHANGYan-quan

(School of Electronics and Information Engineering, Lanzhou Jiaotong University, Lanzhou 730070, China)

In order to meet the requirements preferably of public housing management of Housing Bureau, this paper develops a public housing management system which based on the B/S mode of J2EE lightweight development framework Struts-Spring-Hibernate (SSH). This system achieved a better result in improving the efficiency of management of public housing management and strengthening the market supervision.

real estate; public rental housing management; Struts-Spring-Hibernate

1006-7302(2012)03-0054-08

TP319

A

2012-02-23

高繼森(1957—),男,河南鄭州人,教授,碩士生導(dǎo)師,研究方向為電路與系統(tǒng).

猜你喜歡
房源租房架構(gòu)
如何識別網(wǎng)上假房源
理財周刊(2023年2期)2023-02-26 16:33:53
基于FPGA的RNN硬件加速架構(gòu)
功能架構(gòu)在電子電氣架構(gòu)開發(fā)中的應(yīng)用和實踐
汽車工程(2021年12期)2021-03-08 02:34:30
從一句廣告詞看房地產(chǎn)經(jīng)紀(jì)的本質(zhì)
在線民宿首次出租間隔時長影響因素研究
——基于信號理論視角
租房也是家 “租一代”90后的租房觀
遵義(2018年10期)2018-05-25 01:25:02
LSN DCI EVPN VxLAN組網(wǎng)架構(gòu)研究及實現(xiàn)
租房客
廉政瞭望(2017年2期)2017-03-13 11:41:56
аРЕНДа жИЛЬя В пЕКИНЕ
中國(俄文)(2016年7期)2016-11-28 12:14:30
破解租房難,路還有多遠(yuǎn)?
喜德县| 博湖县| 威远县| 兴和县| 嵊泗县| 偏关县| 藁城市| 张家界市| 秦皇岛市| 平顺县| 汕尾市| 依兰县| 佛坪县| 静安区| 华阴市| 辽阳县| 大渡口区| 印江| 建德市| 淄博市| 道孚县| 和政县| 黔西| 富宁县| 乐都县| 衡南县| 夏邑县| 石首市| 沅陵县| 南安市| 密山市| 台前县| 滦平县| 石城县| 大同县| 封开县| 息烽县| 瑞昌市| 乐昌市| 西昌市| 永川市|