云南師范大學商學院“校園一卡通”查詢系統(tǒng)的規(guī)劃與實現(xiàn)
文章出處:http://www.luckydriving.com 作者:楊劍寧.王威欽.趙勰 人氣: 發(fā)表時間:2011年11月17日
一、“校園一卡通”系統(tǒng)介紹
云南師范大學“校園一卡通”綜合應用管理系統(tǒng)是一個基于校園網(wǎng)的、統(tǒng)一的、集學校管理與金融服務于一體,實現(xiàn)銀行儲蓄、學校管理、校內(nèi)消費支付功能相結(jié)合的多功能卡式應用系統(tǒng)。該管理系統(tǒng)完全構建在校園網(wǎng)絡之上,全面實現(xiàn)了金融平臺和校園管理平臺的分離,目的在于有效地提高學校的管理水平。系統(tǒng)設計功能包括:學生注冊、繳費、實驗室管理、門禁管理、圖書借閱、食堂就餐、校內(nèi)超市購物、校內(nèi)娛樂場所、學生助學金的發(fā)放等。目前已經(jīng)實現(xiàn)了絕大部分功能,為實現(xiàn)數(shù)字化校園奠定了堅實基礎。
二、“校園一卡通”信息查詢系統(tǒng)的設計與實現(xiàn)
1.結(jié)構設計
系統(tǒng)設計采用B/s結(jié)構,通過在傳統(tǒng)的網(wǎng)頁HTML文件中嵌入Java程序片段和JSP標記,就構成了JSP網(wǎng)頁。用戶端是瀏覽器.系統(tǒng)開發(fā)基于瀏覽器規(guī)范統(tǒng)一的用戶界面,通過請求一響應模式與服務器交互,提交各種查詢,返回的查詢結(jié)果在瀏覽器上顯示輸出。
應用服務器集中管理系統(tǒng)所有信息和業(yè)務邏輯,包括數(shù)據(jù)庫的訪問、查詢語句的執(zhí)行、報表的生成以及統(tǒng)計圖表的生成輸出。JSP文件負責生成用戶界面,處理用戶請求,調(diào)用JavaBeans組件,處理查詢結(jié)果顯示輸出。JavaBeans組件負責與后臺數(shù)據(jù)庫交互,執(zhí)行用戶查詢。“校園一卡通”數(shù)據(jù)庫為系統(tǒng)提供數(shù)據(jù)源。系統(tǒng)通過JDBC接口與數(shù)據(jù)庫實現(xiàn)連接。
工作流程:用戶通過瀏覽器發(fā)出請求,服務器響應用戶請求,由JSP引擎定位JSP文件,然后調(diào)用JavaBeans,JavaBeans通過JDBC訪問數(shù)據(jù)庫,完成數(shù)據(jù)的查詢提?。甁SP負責處理返回結(jié)果,以表格形式顯示在瀏覽器上。這里.應用服務器既包含Web服務器處理靜態(tài)HTML頁面.又包含JSP引擎處理JSP動態(tài)頁面。
2.系統(tǒng)功能設計
(1)綜合信息查詢:為管理人員提供按不同方式對卡的庫存管理信息、領發(fā)卡信息、教職工和學生的正式卡與臨時卡的情況進行查詢統(tǒng)計的功能:為教學管理人員提供每學期學生入學時的注冊情況:為管理人員提供學生繳費以及欠費情況;學生管理人員可根據(jù)學生每日的消費.分析學生在校的消費情況:并根據(jù)各種查詢生成需要的報表
(2)交易查詢:為相關管理人員提供按不同方式實現(xiàn)各項交易的統(tǒng)計查詢;實現(xiàn)各個營業(yè)網(wǎng)點營業(yè)額的統(tǒng)計查詢:實現(xiàn)交易報表生成和統(tǒng)計圖表生成功能;實現(xiàn)單位賬戶及個人卡賬戶信息查詢:實現(xiàn)個人卡賬戶及交易明細信息查詢。
(3)個人信息查詢:實現(xiàn)個人基本信息的查詢;實現(xiàn)個人卡的密碼查詢和修改;實現(xiàn)個人卡的消費限額的修改;實現(xiàn)個人卡的消費流水的查詢;實現(xiàn)個人卡的余額的查詢。
(4)其他功能:實現(xiàn)個人卡的掛失、解掛等。
3.開發(fā)環(huán)境
操作系統(tǒng):Windows 2000 Server, 數(shù)據(jù)庫:Oracle8.1.6,其他軟件:JDKI.3,Oracle客戶端軟件,Ofice XP。
4.具體實現(xiàn)
(1)Oracle數(shù)據(jù)庫連接
JDBC是用于執(zhí)行SQL語句的Java應用程序接口,由一組類與接El組成。Java程序根據(jù)JDBC提供的標準的數(shù)據(jù)庫訪問類和接口,可以十分方便地對數(shù)據(jù)庫進行訪問、操作。
Oracle數(shù)據(jù)庫提供兩種JDBC驅(qū)動程序:“oracle.jdbc.drive.OracleDriver”是供開發(fā)基于網(wǎng)絡數(shù)據(jù)庫的應用程序時使用,其URL為:“jdbc:oracle:thin:@localhost:1521:orcl”.1ocalhost為主機名或oracle數(shù)據(jù)庫所在服務器的
IP,orcl為數(shù)據(jù)源ID。由于在“校園一卡通”系統(tǒng)中數(shù)據(jù)庫服務器與應用服務器分別是不同的機器.因此必須使用Oracle的JDBC網(wǎng)絡驅(qū)動程序。與數(shù)據(jù)庫的連接和斷開,是查詢系統(tǒng)中最頻繁的動作,因此設計封裝為Bean中的兩個方法:DBConnect()、Dis—conn(),在第一次打開主頁面時調(diào)用DBConnect()方法測試數(shù)據(jù)庫連接是否正常,在每次進行數(shù)據(jù)庫訪問時檢查連接是否存在,不存在則調(diào)用該方法生成連接。在每一個用戶查詢完成后,調(diào)用Disconn()斷開與數(shù)據(jù)庫連接,釋放資源,以提高系統(tǒng)性能。
(2)數(shù)據(jù)查詢
在與數(shù)據(jù)庫成功連接后,下一步就可以對數(shù)據(jù)庫進行具體操作,如查詢、修改、刪除等。這里分兩步進行,首先要創(chuàng)建Statement類的實例,然后調(diào)用Statement類中executeQuery()方法實現(xiàn)查詢。系統(tǒng)在Bean中封裝了execQuery()方法,完成以上步驟。execQuery()方法返回ResuhSet類型結(jié)果集,使用ResuhSet的next()方法可以遍歷結(jié)果集中所有行。在當前行中,使用getXXX()方法可以獲取單個列的值,XXX代表要返回的Java數(shù)據(jù)類型。最后將結(jié)果值在JSP頁面上以表格的形式顯示輸出。
(3)報表生成
系統(tǒng)中提供發(fā)卡、充值、領發(fā)補助、食堂售飯交易以及各個POS點的交易等多種報表的自動生成功能。根據(jù)客戶需求,系統(tǒng)通過應用Excel宏技術對此加以實現(xiàn)。工作原理如下:在Java程序中完成報表數(shù)據(jù)的查詢,把報表的基本信息(標題、生成日期、表頭)與報表數(shù)據(jù)按預先定義好的格式寫入一個臨時文本文件中。然后調(diào)用服務器端Excel(Office下的Exce1.exe),打開相應的Excel文檔。該文檔事先定義好Autoopen宏,在文檔被打開時立刻自動執(zhí)行以下動作:載入文本文件,文本轉(zhuǎn)換成表格,處理標題、表頭,最后保存退出。這樣,報表生成完畢,保存在服務器上。用戶通過瀏覽器就可下載或直接打開。
三、結(jié)束語
目前.該系統(tǒng)已在我校投入使用,使用效果較好,受到校內(nèi)用戶的好評。由于應用JSP技術開發(fā),使系統(tǒng)具有非常靈活的可擴展性,便于以后進一步擴展和完善。