李 華
(山西省通信管理局,山西 太原 030002)
在當(dāng)今社會(huì),信息已成為一種隱形財(cái)富,人們對信息的需求也不再局限于單純的電視、報(bào)紙等傳統(tǒng)途徑。隨著網(wǎng)絡(luò)的發(fā)展,人們可以通過網(wǎng)絡(luò)獲取更多元、更豐富的信息。Web作為共享信息資源的媒體,已經(jīng)成為信息查詢的重要途徑,而查詢(搜索信息)、瀏覽(搜索結(jié)果)和編輯(信息)等行為則組成了“上網(wǎng)”(網(wǎng)絡(luò)用戶與網(wǎng)絡(luò)交互)的主要內(nèi)容。全面的多功能信息查詢服務(wù)是滿足網(wǎng)絡(luò)用戶需要的一把金鑰匙,所以多功能信息查詢網(wǎng)站已成為互聯(lián)網(wǎng)發(fā)展的基礎(chǔ)性服務(wù)。如果把需要發(fā)布信息存儲(chǔ)在數(shù)據(jù)庫中,那么就可以用Web頁作為界面,通過數(shù)據(jù)庫管理系統(tǒng)提供的豐富手段來實(shí)現(xiàn)這些行為。本文設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)基于Web的多功能信息查詢系統(tǒng),它能夠被集成到其他系統(tǒng)中,為廣大使用者營造一個(gè)優(yōu)良的信息查詢服務(wù)平臺。
設(shè)計(jì)一個(gè)多功能信息查詢系統(tǒng)的主要任務(wù)是提高用戶查詢信息的時(shí)效性和使用的方便性。一般用戶關(guān)注的信息包括列車車次查詢、節(jié)日信息查詢、節(jié)氣信息查詢、日歷查詢、郵政編碼和電話區(qū)號查詢等功能。同時(shí)系統(tǒng)也要有信息查詢的后臺管理功能,即管理員對各種信息可以進(jìn)行維護(hù),其中包括對信息的創(chuàng)建、修改、刪除、瀏覽,此外,管理員還可以管理其他的普通用戶。
(1)普通用戶:具有自行注冊BBS論壇和對信息的搜索、瀏覽功能。
(2)會(huì)員用戶:除了具有信息的查詢、瀏覽功能外,登錄成功的會(huì)員可以在BBS頁面發(fā)表主題,也可以發(fā)表回帖。
(1)信息查詢功能包括車次查詢、公農(nóng)歷轉(zhuǎn)換、郵政編碼查詢、區(qū)號查詢、民族查詢、節(jié)日和節(jié)氣查詢等。
(2)提供具體的權(quán)限分配,只有網(wǎng)站的管理員才可以管理數(shù)據(jù)庫資料,對后臺數(shù)據(jù)庫進(jìn)行查找、增加、刪除、修改操作,而普通會(huì)員沒有該權(quán)限。
根據(jù)用戶的需求以及系統(tǒng)的功能模塊劃分,本文設(shè)計(jì)的系統(tǒng)后臺數(shù)據(jù)庫如圖1 所示。
圖1 系統(tǒng)后臺數(shù)據(jù)庫
數(shù)據(jù)庫中用戶信息表的功能是實(shí)現(xiàn)進(jìn)入系統(tǒng)時(shí)的身份驗(yàn)證和權(quán)限驗(yàn)證,普通用戶只可以進(jìn)入論壇,而系統(tǒng)管理員則可以對網(wǎng)站的后臺數(shù)據(jù)庫進(jìn)行管理;民族表、節(jié)氣表、郵編區(qū)號表等用于存儲(chǔ)相關(guān)的信息;BBS主題用于存儲(chǔ)論壇的主題、發(fā)帖人信息、發(fā)布時(shí)間、發(fā)布帖子的內(nèi)容等信息;回復(fù)主題表用于存儲(chǔ)回復(fù)帖子的回復(fù)人信息、回復(fù)的主題、回復(fù)的時(shí)間及回復(fù)內(nèi)容的詳細(xì)信息。用戶可以對列車車次、郵政編碼、地區(qū)區(qū)號、民族、日歷、節(jié)日、節(jié)氣、精選網(wǎng)站等信息進(jìn)行相關(guān)查詢;管理員可以對后臺信息實(shí)現(xiàn)管理。
本系統(tǒng)分為前臺系統(tǒng)和后臺系統(tǒng)兩個(gè)部分,前臺系統(tǒng)在進(jìn)行信息查詢時(shí),不需要進(jìn)行身份驗(yàn)證,只有在進(jìn)BBS論壇時(shí)才進(jìn)行身份驗(yàn)證,即任何人都可以通過瀏覽器閱讀已經(jīng)發(fā)布的信息、搜索想要瀏覽的信息。
信息查詢是多功能查詢系統(tǒng)的核心,如何快速、高效、全面地查詢出用戶所需要的信息是實(shí)現(xiàn)系統(tǒng)需要考慮的主要問題。本系統(tǒng)主要基于3種信息來提供給用戶相關(guān)的查詢服務(wù):無條件查詢(即顯示全部信息)、按類別查詢和按關(guān)鍵字查詢。
從主頁面鏈接到車次查詢頁面,在該頁面里,可通過輸入列車車次后點(diǎn)擊查詢,這樣在新的一頁就可以查看到所輸入車次的詳細(xì)信息;也可以通過輸入始發(fā)站或終到站進(jìn)行相關(guān)信息查詢。相應(yīng)的查詢代碼如下:
(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);ResultSetrs=state.executeQuery(sqli);
其中,sqli為查詢的條件,可以實(shí)現(xiàn)想要的查詢結(jié)果。如果sqli=null,即返回車次表的所有信息,則用戶得到的查詢結(jié)果為所有的列車信息,包括車站信息、車次和時(shí)間等;如果sqli為多個(gè)關(guān)鍵字的組合,則用戶得到的查詢結(jié)果為車次表中包含這些關(guān)鍵字的相應(yīng)信息。通過設(shè)置這個(gè)函數(shù),可以實(shí)現(xiàn)用戶不同的查詢目的。對于郵政編碼、地區(qū)區(qū)號、民族、日歷、節(jié)日、節(jié)氣、精選網(wǎng)站等信息的查詢服務(wù)都可以調(diào)用這個(gè)查詢函數(shù),盡可能地使用戶能夠得到滿足其需要的相關(guān)信息。信息查詢模塊如圖2 所示。
圖2 信息查詢模塊
本模塊是系統(tǒng)的主要功能模塊,主要包括:對后臺數(shù)據(jù)庫中的網(wǎng)站會(huì)員、列車車次、民族、各省市區(qū)號、郵政編碼、節(jié)日、節(jié)氣、BBS論壇等信息的查找、增加、修改和刪除的操作。管理員登錄成功后,才可以進(jìn)入系統(tǒng)后臺對后臺數(shù)據(jù)進(jìn)行查找、增加、刪除和修改操作。在系統(tǒng)管理員登錄頁面輸入用戶名和密碼,在提交后,會(huì)在數(shù)據(jù)庫中核對用戶的基本信息,包括用戶名、密碼、用戶權(quán)限等信息。如果用戶名或密碼錯(cuò)誤會(huì)給出錯(cuò)誤提示,提示重新登錄。后臺管理模塊如圖3 所示。
JSP技術(shù)具有可移植性,使用者可以在任何操作系統(tǒng)平臺上編寫JSP頁面,然后在各種互聯(lián)網(wǎng)服務(wù)器上運(yùn)行。本系統(tǒng)使用JSP技術(shù)進(jìn)行開發(fā),采用MyEclipse10.5作為開發(fā)平臺,數(shù)據(jù)庫采用SQL Server 2005個(gè)人版,界面編輯工具采用的是Macromedia Dreamweaver8。
圖3 后臺管理模塊
為了完成對后臺數(shù)據(jù)庫的操作,這里采用JDBC-ODBC的驅(qū)動(dòng)程序連接數(shù)據(jù)庫。所有數(shù)據(jù)庫的對象和方法都在java.sql.* 里,為了完成編程語言對數(shù)據(jù)庫的操作,需先調(diào)用對象:Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")。這是JDBC-ODBC的驅(qū)動(dòng)程序。根據(jù)數(shù)據(jù)庫創(chuàng)建人員指定的數(shù)據(jù)源名稱,程序員調(diào)用這個(gè)對象中Connection類創(chuàng)建一個(gè)數(shù)據(jù)庫連接:String url= "jdbc:odbc:community,"",""";Connection con = DriverManager.getConnection(url)。系統(tǒng)運(yùn)行界面如圖4 所示。
圖4 系統(tǒng)運(yùn)行界面
隨著網(wǎng)絡(luò)的發(fā)展,人們對網(wǎng)上信息量的查詢需求越來越強(qiáng)烈。多功能信息查詢系統(tǒng)為這樣的需求提供了一個(gè)可行的解決方法。本文設(shè)計(jì)的多功能查詢系統(tǒng)可以滿足一般用戶對信息的查詢需求,也可以集成到其他信息系統(tǒng)中,為使用者提供更豐富的功能。
[1]戴志誠,趙國峰.JSP信息化系統(tǒng)建設(shè)案例[M].北京:人民郵電出版社,2006.
[2]Michele E Davis,Jon A Phillips.Learning JSP and SQL server[J].O’Reilly Media,2007,6(5):124-132.
[3]孫延鵬.呂曉鵬.Web程序設(shè)計(jì)——JSP[M].北京:人民郵電出版社,2008.
[4]Hoboken.JSP & SQL server Web development[M].Canada:Wiley Publishing,2008.
[5]呂波.基于MVC模式下雅職院門戶網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2011:34-45.