摘 要:在Java Web項目開發(fā)中需要呈現(xiàn)用戶數(shù)據(jù)查詢結(jié)果,利用JDBC數(shù)據(jù)訪問技術(shù),設(shè)計一個通用的Web組件-DataTable。根據(jù)用戶需要實現(xiàn)動態(tài)查詢,并利用查詢結(jié)果為數(shù)據(jù)源構(gòu)建類。用戶使用時只需動態(tài)加載數(shù)據(jù)源、樣式文件等就可以呈現(xiàn)具備各種風(fēng)格的數(shù)據(jù),縮短項目周期,提高開發(fā)效率。
關(guān)鍵詞:查詢;Web;組件;JDBC
中圖分類號:TP311 文獻標(biāo)識碼:A
1 引言(Introduction)
隨著企業(yè)信息化建設(shè)水平的發(fā)展,基于Java Web技術(shù)的B/S架構(gòu)項目開發(fā),成為開發(fā)的主流技術(shù)[1]。在實際項目開發(fā)過程中,查詢結(jié)果的數(shù)據(jù)呈現(xiàn)是大多數(shù)系統(tǒng)必備功能。然而,現(xiàn)有Java開發(fā)工具中并沒有提供用于呈現(xiàn)查詢結(jié)果的通用組件,在設(shè)計過程中功能模塊與界面設(shè)計密切關(guān)聯(lián)。當(dāng)用戶查詢發(fā)生改變,就必須重新編寫代碼。這種模式不利于代碼維護及用戶使用,開發(fā)效率較低。因此,如何設(shè)計一個通用Web組件DataTable:當(dāng)用戶業(yè)務(wù)需求發(fā)生變化時,不需重寫代碼,只需通過動態(tài)加載數(shù)據(jù)源、簡單修改用戶樣式文件,達到動態(tài)呈現(xiàn)數(shù)據(jù)目的,這樣既可以提高開發(fā)效率、縮短項目周期,又方便用戶使用。
2 系統(tǒng)設(shè)計(System design)
2.1 設(shè)計思路
依據(jù)組件通用設(shè)計思路,設(shè)計一個通用查詢結(jié)果數(shù)據(jù)呈現(xiàn)組件DataTable。該組件的前臺展示樣式由用戶自行設(shè)計,查詢條件完全取決于用戶需求,可以隨意創(chuàng)建、沒有任何限制,用戶只需動態(tài)加載查詢結(jié)果數(shù)據(jù)源即可。組件工作模型如圖1所示。
圖1 DataTable工作模型
Fig.1 DataTable working model
2.2 技術(shù)方案(Technical scheme)
2.2.1 JDBC技術(shù)方案
采用Java作為組件開發(fā)語言,它不直接運行在操作系統(tǒng)上,而是通過Java虛擬機與底層操作系統(tǒng)進行交互處理,具備統(tǒng)一的編程接口、可方便移植,確保系統(tǒng)與用戶的安全性。采用JDBC數(shù)據(jù)庫訪問技術(shù),實現(xiàn)異構(gòu)數(shù)據(jù)庫系統(tǒng)的統(tǒng)一訪問。JDBC建立了一個數(shù)據(jù)庫的公共應(yīng)用程序訪問接口,實現(xiàn)通過基于平臺程序或驅(qū)動程序來實現(xiàn)數(shù)據(jù)庫透明訪問。采用SQL語句實現(xiàn)對數(shù)據(jù)庫數(shù)據(jù)存取?;贘ava及JDBC技術(shù)的應(yīng)用系統(tǒng)具備安全性高、執(zhí)行速度快、可靠性和可移植性強等特點。基于Java-JDBC三層應(yīng)用模型如圖2所示。
圖2 應(yīng)用模型
Fig.2 Application model
2.2.2 DataTable組件通用類設(shè)計
軟件設(shè)計組件是指可以進行獨立分離的、易于重復(fù)使用的功能對象[2]。基于Java的Web通用DataTable組件是指在任何基于Java的Web應(yīng)用程序中均可使用的數(shù)據(jù)呈現(xiàn)組件,同時支持記錄自動分頁。DataTable組件構(gòu)建在數(shù)據(jù)庫基礎(chǔ)之上,將數(shù)據(jù)庫連接、數(shù)據(jù)記錄查詢、數(shù)據(jù)處理、樣式文件等整合到一起構(gòu)成DataTable組件。這樣其他Web應(yīng)用程序便可使用該組件進行快速開發(fā),提高開發(fā)效率,其通用類設(shè)計如圖3所示。
圖3 通用類設(shè)計
Fig.3 General class design
3 系統(tǒng)實現(xiàn)(System implementation)
DataTable組件采用Visio設(shè)計模型、使用MyEclipse開發(fā)工具,主要使用HTML、Css、JavaScript、JSP、Servlet等Java Web開發(fā)技術(shù)[3];使用Access作為后臺數(shù)據(jù)庫,用戶可根據(jù)實際開發(fā)需要選擇數(shù)據(jù)庫;使用Tomcat作為Web服務(wù)器。采用JavaScript的事件處理與HTML及進行用戶交互,經(jīng)處理實現(xiàn)用戶數(shù)據(jù)感知[4]。其具體實現(xiàn)步驟如下:
第一步:新建一個JavaWeb工程:DataTableDemo。
第二步:利用Access建立一個DB數(shù)據(jù)庫,并在該數(shù)據(jù)庫中建立一張名為User的數(shù)據(jù)表,其表結(jié)構(gòu)如表1所示。
表1 User數(shù)據(jù)表設(shè)計
Tab.1 User DataTable design
字段名 數(shù)據(jù)類型
User_ID 自動編號
User_Code 文本
User_Name 文本
User_Sex 文本
User_Type 文本
User_Password 文本
User_Tel 文本
User_Email 文本
User_Address 文本
User_PostCode 文本
第三步:新建通用的DbHelp數(shù)據(jù)庫訪問類、DataTable類,具體結(jié)構(gòu)如通用類設(shè)計圖。
第四步:新建數(shù)據(jù)表樣式文件DataTableCss及用于用戶交互的DataTable.js文件。
第五步:導(dǎo)入數(shù)據(jù)庫訪問類、DataTable類、DataTableCss、DataTale.js等文件,以Web形式顯示user數(shù)據(jù)表中數(shù)據(jù),其處理效果如圖4所示。
圖4 DataTable組件應(yīng)用
Fig.4 Application of DataTable components
4 結(jié)論(Conclusion)
在使用現(xiàn)有的Java Web開發(fā)技術(shù)及工具下,通過構(gòu)建Web通用開發(fā)組件,既滿足了用戶業(yè)務(wù)需求的不斷變化,又適用于所有基于Java Web技術(shù)的項目開發(fā)。DataTable組件現(xiàn)已應(yīng)用到了多個基于Java的Web企業(yè)信息系統(tǒng)開發(fā)項目,提高了工作效率,明顯縮短了項目周期。
參考文獻(References)
[1] 舒紅平,劉魁.基于Java Web的通用組件設(shè)計及應(yīng)用[J].成都信 息工程學(xué)院學(xué)報,2006,21(3):31-35.
[2] 李華彪.Java中間件技術(shù)及其應(yīng)用開發(fā)[M].北京:中國水利水 電出版社,2012:70-72.
[3] 舒紅平.基于Java的審批流程管理設(shè)計及實現(xiàn)[J].成都信息工 程學(xué)院學(xué)報,2011,19(1):12-17.
[4] 彭智勇,黃澤謙.基于對象代理數(shù)據(jù)庫的微生物信息服務(wù)系統(tǒng) [J].計算機應(yīng)用,2010,30(1):5-8.
作者簡介:
譚海中(1979-),男,碩士,高級工程師.研究領(lǐng)域:軟件工 程,WEB數(shù)據(jù)庫技術(shù)應(yīng)用,數(shù)據(jù)挖掘.