唐俊趙炯金煒東
(西南交通大學(xué)電氣工程學(xué)院,四川成都610031)
在項(xiàng)目實(shí)踐中,筆者發(fā)現(xiàn)傳統(tǒng)的手工制作web信息發(fā)布模式呈現(xiàn)出一些明顯的不足,最主要的有以下幾點(diǎn):(1)網(wǎng)頁制作工作的重復(fù):一些簡(jiǎn)單重復(fù)的房產(chǎn)信息發(fā)布網(wǎng)頁,也需要專業(yè)的網(wǎng)站開發(fā)人員,高投入低產(chǎn)出。(2)BUG出現(xiàn)的幾率增大:即使簡(jiǎn)單的復(fù)制、粘貼的原始復(fù)用方式,也容易出錯(cuò),而且開發(fā)中一些考慮不周將增加BUG數(shù)量。(3)增加了測(cè)試人員的工作。這些不足導(dǎo)致了軟件開發(fā)周期長(zhǎng),效率低。另外,在信息時(shí)代,大眾也有了個(gè)人信息發(fā)布的需求。而制作很簡(jiǎn)單的網(wǎng)頁,也要搭建復(fù)雜的運(yùn)行平臺(tái),這顯然不能滿足大眾化需求。因此,這些是必需解決的問題,房產(chǎn)信息發(fā)布自動(dòng)生成器,為類似問題提供了一個(gè)比較完善的解決方案,并且移植性強(qiáng),稍加更改便能運(yùn)用于其它系統(tǒng)。
近年來,Linux操作系統(tǒng)以其速度快、穩(wěn)定性好、免費(fèi)使用和源代碼開放等特點(diǎn)倍受社會(huì)關(guān)注,它由全世界成千上萬的程序員改進(jìn)、更新,目前已成為世界上發(fā)展最快的操作系統(tǒng)。由于Linux強(qiáng)大的網(wǎng)絡(luò)功能和良好的編程環(huán)境,許多軟件公司以它作為開發(fā)平臺(tái)。
隨著信息時(shí)代的到來,Web開發(fā)技術(shù)得到了迅猛的發(fā)展。從簡(jiǎn)單的Html的靜態(tài)頁面制作技術(shù),到動(dòng)態(tài)頁面的誕生;從兩層的C/S軟件模式到三層的B/S模式再到多層的MVC模式;從簡(jiǎn)單的POJO到EJB組建再到一系列框架的誕生等等,技術(shù)更新?lián)Q代十分迅速。目前,MVC(Model-View-Control)是J2EE中比較流行的設(shè)計(jì)模式,Struts+Hibernate+Spring架構(gòu)也已經(jīng)成為J2EE輕量級(jí)架構(gòu)開發(fā)的主流框架技術(shù)。為了結(jié)合這3種技術(shù)的優(yōu)點(diǎn),本系統(tǒng)采取的策略是:Struts2實(shí)現(xiàn)Web表現(xiàn)層和業(yè)務(wù)邏輯層、Hibernian實(shí)現(xiàn)持久層、Spring主要負(fù)責(zé)將Struts和Hibernate整合在一起,將所有的類看作Bean來進(jìn)行管理,具體組合框架如圖1。
圖1 框架總體結(jié)構(gòu)
2.3.1 JDK與Tomcat安裝
下載安裝前,在終端中輸入java–version測(cè)試是否已經(jīng)安裝有java。如果有,則安裝并配置好以下環(huán)境變量后,需要?jiǎng)?chuàng)建指向自己Java和Javac程序的鏈接:
2.3.2 MyEclipse與mysql安裝
下載MyEclipse for Linux安裝,在運(yùn)行MyEclipse時(shí),若因?yàn)閒edora自帶的Firefox與MyEclipse有沖突,導(dǎo)致Eclipse找不到xulrunner的環(huán)境而不能啟動(dòng),可采用解決方法:在myeclipse.ini文件后加上Dorg.eclipse.swt.browser.XUL RunnerPath=/usr/lib/xulrunner-1.9.1.4,正常運(yùn)行界面如圖2:
圖2 MyEclipse界面及程序整體布局
mysql數(shù)據(jù)庫在各種軟件開發(fā)中使用得比較多,已經(jīng)是比較熟悉的軟件,這里不做重點(diǎn)介紹。
表1 系統(tǒng)模塊劃分
圖3 房產(chǎn)信息自動(dòng)發(fā)布模塊流程圖
簡(jiǎn)單介紹整合Struts+Hibernate+Spring實(shí)現(xiàn)自動(dòng)生成房產(chǎn)信息及框架工作流程。
(1)啟動(dòng)站點(diǎn),運(yùn)行web.xml配置文件,查詢默認(rèn)網(wǎng)站首頁及初始化相關(guān)配置,部分配置如下:
(2)企業(yè)用戶登錄成功后,鏈接進(jìn)入房產(chǎn)相關(guān)信息提交頁面,通過s:form表單button調(diào)用js文件對(duì)應(yīng)方法進(jìn)行提交檢測(cè),再提交action,由于Struts2與Spring集成插件更改了Struts默認(rèn)設(shè)置,Action交至Spring IoC容器進(jìn)行實(shí)例化,JavaScript示例代碼如下:
圖4 部分公用J a v a S c r i p t
(3)Spring IoC從struts.xml中讀取的數(shù)據(jù)去匹配用戶提交的Action Mapping對(duì)象,若不存在則返回并報(bào)錯(cuò)用戶請(qǐng)求路徑無效的信息,否則檢索匹配指定的Java類,部分配置如下:
(4)通過Spring配置文件spring.xml進(jìn)行Java類的管理,匹配(3)中class屬性的Spring配置:
匹配成功后,進(jìn)入Java類文件,檢索Struts2指定的方法,執(zhí)行對(duì)應(yīng)Java方法,若調(diào)用自己編寫的其它Java類,進(jìn)入Spring配置文件去檢索匹配:
(5)由于save方法中應(yīng)用了session Factory,并要執(zhí)行數(shù)據(jù)庫保存操作,因此再次通過Spring配置文件檢索匹配spring.xml中的Java類,成功后執(zhí)行Java指定方法,spring.xml中對(duì)應(yīng)配置如下:
(6)匹配成功,應(yīng)用Hibernate配置文件hibernate.cfg.xml,連接并操作數(shù)據(jù)庫,部分配置如下:
(7)返回結(jié)果在JSP頁面中顯示。
圖5 自動(dòng)生成網(wǎng)頁局部示意圖
Linux自問世以來,由其與生俱來的自由與創(chuàng)新得到了廣泛的應(yīng)用,許多軟件開發(fā)公司以它作為開發(fā)平臺(tái),加上Java程序的可移植性,在Linux操作系統(tǒng)下開發(fā)Java應(yīng)用也將越來越廣泛,而Struts+Spring+Hibernate是目前主流的應(yīng)用技術(shù)框架,這三個(gè)框架的整合很大限度上改善了軟件開發(fā)的復(fù)雜度和復(fù)用性,因此在今后企業(yè)級(jí)應(yīng)用開發(fā)方面將有著廣泛的應(yīng)用前景。另外,網(wǎng)站自動(dòng)生成技術(shù)能很好地降低專業(yè)開發(fā)人員的工作量,滿足非專業(yè)設(shè)計(jì)人員的需求,因此,該研究工作很有實(shí)際意義。
[1]謝欣,王韜,李曉明.一種支持動(dòng)態(tài)網(wǎng)站生成的模型與系統(tǒng)[J].計(jì)算機(jī)應(yīng)用研究,2004,(4):146-148.
[2]張國(guó)平,萬仲保,劉高原.基于輕量級(jí)J2EE框架信息發(fā)布系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].華東交通大學(xué)報(bào).2007,24(1):71-73.
[3]陳明.Linux基礎(chǔ)與應(yīng)用[M].北京:清華大學(xué)出版社,2005.
[4]白廣元等.Java Web整合開發(fā)完全自學(xué)手冊(cè)[M].北京:機(jī)械工業(yè)出版社,2009.