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