[摘 要] 本文介紹了“校園一卡通”信息查詢系統的結構組成,主要討論了基于Web 的“校園一卡通”信息查詢系統的設計與實現。
[關鍵詞] 校園一卡通;信息查詢; JSP
[中圖分類號]F232;C931.6[文獻標識碼]A[文章編號]1673-0194(2007)12-0075-02
1 “校園一卡通”系統介紹
我校“校園一卡通”綜合應用管理系統是一個基于校園網的、統一的、集學校管理與金融服務于一體,實現銀行儲蓄、學校管理、校內消費支付功能相結合的多功能卡式應用系統。該管理系統完全構建在校園計算機網絡之上,全面實現了金融平臺和校園管理平臺的分離。我校推出的校園卡,目的在于有效地提高學校的管理水平。系統設計功能包括:學生注冊、繳費、實驗室管理、門禁管理、圖書借閱、食堂就餐、校內超市購物、校衛生院就醫、校內娛樂場所、學生助學金的發放等。目前已經完全實現了學生注冊、繳費、食堂就餐、校內超市購物、校內娛樂場所、學生助學金的發放的功能,為實現數字化校園奠定了堅實基礎。“校園一卡通”系統一般由用戶、注冊中心、結算中心、數據中心等4部分組成。 “校園一卡通”系統運行在我校校園網中的專用網絡上,注冊中心和結算中心是整個系統的樞紐,連接所有管理部門和業務部門的微機,以及數據中心的應用服務器和數據庫服務器。圈存機與銀行之間通過DDN 數字專線相連,保持聯機交易數據的實時傳輸。各用戶與結算中心之間通過學校專有網絡相連,實現實時數據的上傳,保證結算數據的正確性。
2 “校園一卡通”信息查詢系統的設計與實現
2. 1結構設計
系統設計采用B/S 結構,通過在傳統的網頁HTML 文件中嵌入Java 程序片段和JSP 標記,就構成了JSP 網頁。JSP 的執行過程是:服務器接受客戶端請求,由JSP 引擎找到對應的JSP 文件,然后把JSP 文件翻譯成Servlet 形式的Java 源代碼,由Java 編譯器編譯為執行代碼(字節碼,class 文件) 。Java 虛擬機執行class 文件,最后把結果以HTML 形式返回給客戶。
JavaBeans 是一種基于Java 的軟件組件,它和ActiveX 控件一樣,可以通過封裝業務邏輯建立一整套可重用的對象庫。JSP 對于在Web 應用中集成JavaBeans 組件提供了完善的支持,這種支持縮短開發時間(可以直接利用經過測試和可信任的已有組件) ,避免重復開發,也為JSP 應用帶來了更大的伸縮性。JavaBeans 組件可以用來執行復雜的計算任務或負責與數據庫的交互以及數據提取等,使JSP 獲得了強大的功能擴充。JSP是通過在超文本文件中嵌套腳本語言來實現的,支持組件技術。
用戶端是瀏覽器,系統開發基于瀏覽器規范統一的用戶界面,通過請求-響應模式與服務器交互,提交各種查詢,返回的查詢結果在瀏覽器上顯示輸出。
應用服務器集中管理系統所有信息和業務邏輯,包括數據庫的訪問、查詢語句的執行、報表的生成以及統計圖表的生成輸出。JSP 文件負責生成用戶界面,處理用戶請求,調用JavaBeans 組件,處理查詢結果顯示輸出。JavaBeans 組件負責與后臺數據庫交互,執行用戶查詢。
“校園一卡通”數據庫為系統提供數據源。系統通過JDBC接口與數據庫實現連接。
工作流程:用戶通過瀏覽器發出請求,服務器響應用戶請求,由JSP 引擎定位JSP 文件,然后調用JavaBeans,JavaBeans 通過JDBC訪問數據庫,完成數據的查詢提取,JSP 負責處理返回結果,以表格形式顯示在瀏覽器上。這里,應用服務器既包含Web 服務器處理靜態HTML 頁面,又包含JSP 引擎處理JSP動態頁面。
2. 2系統功能設計
“校園一卡通”信息查詢系統由以下4個部分構成。
綜合信息查詢:為管理人員提供按不同方式對卡的庫存管理信息、領發卡信息、教職工和學生的正式卡與臨時卡的情況進行查詢統計的功能;為教學管理人員提供每學期學生入學時的注冊情況;為管理人員提供學生繳費以及欠費情況;學生管理人員可根據學生每日的消費,分析學生在校的消費情況;并根據各種查詢生成需要的報表。
交易查詢:為相關管理人員提供按不同方式實現各項交易的統計查詢;實現各個營業網點的營業額的統計查詢;實現交易報表生成和統計圖表生成功能;實現單位賬戶及個人卡賬戶信息查詢;實現個人卡賬戶及交易明細信息查詢。
個人信息查詢:實現個人基本信息的查詢;實現個人卡的密碼查詢和修改;實現個人卡的消費限額的修改;實現個人卡的消費流水的查詢;實現個人卡的余額的查詢。
其他功能:實現個人卡的掛失、解掛等。
2. 3開發環境
操作系統:Windows 2000 Server
數據庫:ORACLE 8.1.6 (“校園一卡通”后臺數據庫)
其他軟件:JDK1. 3 , ORACLE 客戶端軟件,Office xp
2. 4具體實現
2. 4. 1ORACLE 數據庫連接
JDBC是用于執行SQL 語句的Java 應用程序接口,由一組類與接口組成。Java 程序根據JDBC 提供的標準的數據庫訪問類和接口,可以十分方便地對數據庫進行訪問、操作。
ORACLE 數據庫提供兩種JDBC驅動程序:
“oracle.jdbc.driver.OracleDriver”是供開發基于網絡數據庫的應用程序時使用,其URL 為:“jdbc:oracle:thin:@localhost:1521:orcl”,localhost為主機名或oracle數據庫所在服務器的IP,orcl為數據源ID。
由于在“校園一卡通”系統中數據庫服務器與應用服務器分別是不同的機器,因此必須使用ORACLE 的JDBC網絡驅動程序。
與數據庫的連接和斷開,是查詢系統中最頻繁的動作,因此設計封裝為Bean 中的兩個方法:DBConnect () 、Disconn() ,在第一次打開主頁面時調用DBConnect ( ) 方法測試數據庫連接是否正常,在每次進行數據庫訪問時檢查連接是否存在,不存在則調用該方法生成連接。在每一個用戶查詢完成后,調用Disconn() 斷開與數據庫連接,釋放資源,以提高系統性能。
2. 4. 2數據查詢
在與數據庫成功連接后,下一步就可以對數據庫進行具體操作,如查詢、修改、刪除等。這里分兩步進行,首先要創建Statement 類的實例,然后調用Statement 類中execute Query( ) 方法實現查詢。系統在Bean 中封裝了execQuery()方法,完成以上步驟。execQuery ( ) 方法返回ResultSet 類型結果集, 使用ResultSet 的next ()方法可以遍歷結果集中所有行。在當前行中,使用getXXX()方法可以獲取單個列的值,這里的XXX 代表要返回的Java 數據類型。最后將結果值在JSP 頁面上以表格的形式顯示輸出。
2. 4. 3統計圖表
在查詢系統中通過使用Java Applet 來實現了動態圖表顯示功能。
Applet (小應用程序) 是一種特殊的Java 程序,它嵌套在網頁中,由瀏覽器下載到客戶端本地執行。Applet 具有Java 的許多功能,包括流的輸入輸出、圖形接口、數據庫訪問、網絡通信等方面,可以實現調用RMI、CORBA、EJB ,因此說,以Java 技術為后臺的Applet 技術成熟、功能強大,是當前在Web 應用中開發動態圖形的主要方法。
由于安全性限制,Applet 只能直接訪問它所在Web 服務器上的數據庫。對于其他服務器上的網絡數據庫,只能先由Servlet (或其他方法) 訪問數據庫,返回結果后,Applet 再與Servlet 通過網絡通信讀取。
ORACLE 客戶端軟件是ORACLE 數據庫提供的一套進行客戶端開發的支持軟件。用戶通過它可以方便地實現對ORACLE 數據庫的遠程訪問和管理。它提供ORACLE JDBC服務、在本機定義遠程數據源等功能,因此通過在Web 服務器上安裝ORACLE 客戶端軟件,可以使Applet 能夠像訪問本機數據庫一樣訪問網絡數據庫,從而降低了開發難度。
具體實現流程:數據庫連接→查詢數據→定義繪圖區域→確定圖形區域坐標系→繪制直方圖。
2. 4. 4報表生成
系統中提供發卡、充值、領發補助、食堂售飯交易以及各個POS點的交易等多種報表的自動生成功能。
由于網頁直接打印效果極差,因此客戶希望報表能夠做成Excel 文檔形式,規范整齊,方便打印保存。根據這一需求,系統通過應用Excel 宏技術加以實現。工作原理如下:
在Java 程序中完成報表數據的查詢,把報表的基本信息(標題、生成日期、表頭) 與報表數據按預先定義好的格式寫入一個臨時文本文件中。然后調用服務器端Excel (Office 下的Excel.exe) ,打開相應的Excel文檔。該文檔事先定義好Autoopen 宏,在文檔被打開時立刻自動執行以下動作:載入文本文件,文本轉換成表格,處理標題、表頭,最后保存退出。這樣,報表生成完畢,保存在服務器上。用戶通過瀏覽器就可下載或直接打開。
3 結束語
目前,該系統已在我校投入正式使用,在試運行階段情況正常,使用效果較好,受到校內用戶的好評。由于應用JSP 技術開發,使系統具有非常靈活的可擴展性,便于以后進一步擴展和完善。
主要參考文獻
[1] 何雄等. JSP 網絡程序設計[M]. 北京:人民郵電出版社,2000.
[2] Java Server Pages Specification ,v1. 1[EB/OL]. http ://java. sun. com /products/jsp/index. htm.