張豪
【摘 要】現(xiàn)代軟件工程的一個顯著特點就是提倡重用,大量實踐表明,軟件重用是一種解決“軟件危機”的有效手段,在軟件開發(fā)過程中重用已有的軟件元素,這樣可以減少大量的重復性勞動,提高軟件的開發(fā)效率。同樣重用的思想在Web應用系統(tǒng)開發(fā)中也占據(jù)非常重要的地位。在基于JSP開發(fā)的Web應用系統(tǒng)中通過在Html中嵌入Java腳本程序形成了動態(tài)網(wǎng)頁。一個基本的JSP頁面就是由普通的Html標簽和Java程序片組成,如果程序片段和Html大量交互在一起,頁面中包含大量的業(yè)務邏輯計算腳本程序,就顯得頁面混雜,不易維護,執(zhí)行效率不高,代碼的可移植性差且很少能重用。JavaBean是一個可重用的組件。通過JSP和JavaBean的結合可以實現(xiàn)代碼的重用,達到提高Web應用程序的開發(fā)與執(zhí)行效率的目的本文介紹了JSP和JavaBean組件技術,使用JavaBean實現(xiàn)一個通用數(shù)據(jù)庫的操作框架。
【關鍵詞】JSP;JavaBean;數(shù)據(jù)庫
0.引言
JSP技術是由Sun公司于1999年6月推出的網(wǎng)頁開發(fā)技術,它是基于Servlet以及整個Java體系的Web開發(fā)技術,利用這一技術,可以建立先進、安全和跨平臺的動態(tài)網(wǎng)站。JSP技術作為是Java在Web上的重要應用技術,得到了廣泛的支持和承認,它可以和各種Java技術完好地結合在一起,從而實現(xiàn)非常復雜的應用。在利用JSP開發(fā)Web應用時,對數(shù)據(jù)庫的訪問時必不可少的,如何對數(shù)據(jù)庫實現(xiàn)增加、刪除、修改、查詢等操作,是每個Web應用必須要解決的問題。如果在每個JSP頁面文件中直接嵌入大量java數(shù)據(jù)庫的代碼及SQL語句,實現(xiàn)了數(shù)據(jù)庫的連接,但這樣使得程序員難以維護、擴展、調(diào)試程序。將JSP和JavaBean技術結合在一起,把數(shù)據(jù)庫連接操作封裝在JavaBean組件中,當JSP頁面需要連接數(shù)據(jù)庫時,只要調(diào)用JavaBean組件即可。下面將介紹如何實現(xiàn)一個通用的數(shù)據(jù)庫操作框架。
1.相關技術簡介
1.1 JSP技術
JSP(Java Senrer Pages)是由sun公司倡導,許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術標準,并納入作為J2EE的其中一個標準。就其形式而言,JSP頁面是在傳統(tǒng)HTML文件中加入Java程序片段和JSP標簽,因此JSP也繼承了Java語言的各種優(yōu)點,該技術為創(chuàng)建顯示動態(tài)生成內(nèi)容的Web頁面提供了一個簡捷而快速的方法。在JSP的眾多優(yōu)點之中,其中之一是它能將HTML編碼從Web頁面的業(yè)務邏輯中有效地分離出來,這種分離使得網(wǎng)頁設計者和JSP程序開發(fā)者之間的人物十分清晰,即使很復雜的JSP代碼也可以很容易的被升級和重用,而可重用的組件就包括如Servlet、JavaBean等。
1.2 JavaBean
JavaBean就是Java的可重用組件技術,類似與Microsoft的COM組件。它可以用來完成執(zhí)行復雜的計算任務,或負責與數(shù)據(jù)庫的交互以及數(shù)據(jù)提取等。JavaBean組件就是Java類,這些類遵循一個接口格式,以便于使方法命名、低層行為以及繼承或實現(xiàn)的行為能夠把類看做標準的Jav?aBean組件進行構造。JavaBean的組成主要包括屬性、方法和事件處理器。標準的JavaBean要求有一個默認的不帶參數(shù)的構造方法;使用setXXX()方法來設置JavaBean的屬性;同時使用getXXX()方法來獲取JavaBean的屬性。在JSP頁面里創(chuàng)建一個JavaBean實例可以通過使用標簽
1.3 JDBC技術
JDBC(Java Database Connectivity,Java數(shù)據(jù)庫連接)是應用程序編程接口(API),描述了一套訪問數(shù)據(jù)庫的標準Java類庫。我們可以在程序中使用這些API,連接到數(shù)據(jù)庫,執(zhí)行SQL語句,進行與數(shù)據(jù)庫相連,查詢、修改、刪除數(shù)據(jù)庫的操作。利用JDBC訪問數(shù)據(jù)庫有四種方式。一是通過JDBC-ODBC橋。由于絕大多數(shù)的數(shù)據(jù)庫都可以通過ODBC來訪問,我們使用JDBC-API通過ODBC去訪問數(shù)據(jù)庫。二是使用本地API用Java編寫的驅動程序。該驅動程序把客戶機API上的JDBC轉換為對特定的DBMS客戶機API的調(diào)用。三是JDBC網(wǎng)絡純Java驅動程序。該驅動把調(diào)用發(fā)給應用服務器,應用服務器使用本地驅動程序訪問數(shù)據(jù)庫來完成調(diào)用。四是使用本地協(xié)議的純Java驅動程序。該驅動通過與數(shù)據(jù)庫建立直接的套接字連接,采用具體于廠商的網(wǎng)絡協(xié)議把JDBCAPI調(diào)用轉換為直接的網(wǎng)絡調(diào)用。
2.設計思路
在Web開發(fā)中,使用J2EE開發(fā)的網(wǎng)絡應用和網(wǎng)站是目前主流,而其開源架構Struts+Spring+Hibernate也是目前最為流行的技術,但是作為一些中型站點的開發(fā),我們并不需要使用這么龐大的架構,而可以選取其中的一些技術來實現(xiàn)其小量的業(yè)務邏輯,作為這種站點,使用JSP+JavaBean技術就能夠滿足其要求。
我們使用JavaBean封裝數(shù)據(jù)庫的連接,使數(shù)據(jù)庫的地址,用戶名,密碼都處于不可見狀態(tài),只能通過JavaBean對數(shù)據(jù)庫進行訪問,可以提高數(shù)據(jù)庫的安全性,同時,在頁面上只需調(diào)用JavaBean中相應的方法就可以對數(shù)據(jù)庫進行操作,可以大大簡化頁面中腳本的編寫,使程序員能更加輕松。
在處理傳遞過來的數(shù)據(jù)時,考慮到代碼的通用性,前面兩種操作要求傳遞新的數(shù)據(jù),而后面兩種操作則涉及到條件的傳遞,所以設計了一個接口,用于規(guī)范參數(shù)的傳遞,而用戶需要設計的JavaBean都須遵循這個接口規(guī)則,并通過接口中的方法把相應參數(shù)傳遞給數(shù)據(jù)庫操作類。
因為對數(shù)據(jù)庫的操作主要是新增、修改、刪除和查詢工作,所以在設計數(shù)據(jù)庫連接時使用insert、update、delete和select4個方法對應4種操作,在這4個方法中,都使用SQLBean這個接口規(guī)范的方法獲取相關信息,并根據(jù)這一系列的信息生成SQL代碼,從而實現(xiàn)對數(shù)據(jù)庫的操作,而后續(xù)開發(fā)人員只需要編寫一個基于SQLBean這個接口的子類就可以了。
3.結束語
利用JavaBean將數(shù)據(jù)庫連接進行封裝,并使用對應的接口規(guī)范傳遞到數(shù)據(jù)庫操作的參數(shù),在數(shù)據(jù)庫操作類中實現(xiàn)SQL語句的設計,可以保證數(shù)據(jù)庫的安全,同時大大的簡化了開發(fā)人員對數(shù)據(jù)庫操作程序的設計,提高開發(fā)效率。
【參考文獻】
[1]薩師煊,王珊.數(shù)據(jù)庫系統(tǒng)概論[M].北京:高等教育出版社,2001:209-237.
[2]王強等編譯.JSP開發(fā)技術.高等教育出版社,2005.
[3]李偉.網(wǎng)絡安全實用技術標準教程[M].北京:清華大學出版社,2005:34-56.