李瑋琦
【摘 要】本文通過系統(tǒng)介紹、需求分析、系統(tǒng)設(shè)計、技術(shù)要點、總結(jié)五個方面介紹了基于Java Web的校友錄系統(tǒng)。后臺數(shù)據(jù)庫服務(wù)器選用的是Oracle數(shù)據(jù)庫,系統(tǒng)利用先進的JDBC技術(shù)與數(shù)據(jù)庫連接,結(jié)合SQL語句處理實現(xiàn)功能操作,使Web與數(shù)據(jù)庫緊密聯(lián)系起來。
【關(guān)鍵詞】校友錄;B/S;Java Web
Internet現(xiàn)如今已成為人們生活、工作、學習越來越離不開的平臺。Web技術(shù)也日益成為一個操作平臺,給用戶提供強大的服務(wù)功能。因此,基于B/S體系架構(gòu)創(chuàng)建一個校友錄系統(tǒng),既能緊跟行業(yè)發(fā)展,實現(xiàn)信息網(wǎng)絡(luò)化;又可以滿足人們生活、學習的需要。本文從系統(tǒng)介紹、需求分析、系統(tǒng)設(shè)計、技術(shù)要點、總結(jié)五個方面介紹基于Java Web的校友錄系統(tǒng)。
1.系統(tǒng)介紹
本系統(tǒng)可供包括在校、離校、以及游客登錄使用。登錄者可以查詢信息或者發(fā)布信息,也可以通過此網(wǎng)站與朋友聯(lián)系,并且還能夠創(chuàng)建虛擬班級等功能。系統(tǒng)中班級管理為必不可少的模塊項,主要是為了安全有效地存儲和管理登錄該系統(tǒng)的用戶的信息,賦予管理員特定的權(quán)限,可以對用戶進行分類,添加,刪除,修改等。本文中數(shù)據(jù)庫服務(wù)器端采用了Oracle作為后臺數(shù)據(jù)庫,以先進的JDBC技術(shù)與數(shù)據(jù)庫連接,結(jié)合SQL語句處理對用戶分類,添加,刪除,修改等操作,使Web與數(shù)據(jù)庫緊密聯(lián)系起來。
2.需求分析
校友錄的主要模塊就是創(chuàng)建虛擬班級,虛擬班級為用戶提供一個互動的空間。班級作為一個整體包含了許多的個體,用戶作為班級的個體可以在班級范圍內(nèi)有自己的行為,例如校友信息的瀏覽等。班級管理員充當維護者的角色,具有班級管理的權(quán)限功能,同時他還可以將班級成員組織在一起。針對以上用戶將使用到的功能和特點,將此系統(tǒng)模塊劃分為班級注冊、用戶信息注冊、管理員權(quán)限操作(包括:班級成員的刪除、班級的刪除、更改班級名稱、添加班級管理員、班級留言等),數(shù)據(jù)庫設(shè)計等幾個子模塊。本系統(tǒng)大部分功能的使用者無疑是班級管理員,那么所有的功能設(shè)計都應該以管理員的權(quán)限為核心。而管理員權(quán)限的功能設(shè)計一定會引用到大量的數(shù)據(jù)庫操作,因而選擇數(shù)據(jù)庫,創(chuàng)建數(shù)據(jù)庫用戶和表,建立與數(shù)據(jù)庫的連接,使用SQL語言操作數(shù)據(jù)庫就是系統(tǒng)后臺設(shè)計圍繞的主體。能否將系統(tǒng)的前后臺合理有效的關(guān)聯(lián)是整體系統(tǒng)模塊成功的關(guān)鍵。
本系統(tǒng)的整體E-R圖如下圖所示:
3.系統(tǒng)設(shè)計
3.1 系統(tǒng)結(jié)構(gòu)
本系統(tǒng)的系統(tǒng)結(jié)構(gòu)圖如下圖所示:
3.2 功能模塊
此系統(tǒng)模塊要的功能是創(chuàng)建班級和班級管理員操作權(quán)限的實現(xiàn),圍繞著這個目標把系統(tǒng)劃分為登錄子模塊、創(chuàng)建班級子模塊、管理員權(quán)限子模塊和數(shù)據(jù)庫模塊。首頁可以作為其它功能項的一個向?qū)?,起連接的作用,而管理員權(quán)限子模塊又被細分為刪除功能子模塊、查詢功能子模塊、管理員班級留言功能塊。
登錄子模塊和創(chuàng)建班級子模塊在系統(tǒng)中的實現(xiàn)其功能對所有用戶可見,而刪除、查詢、管理員班級留言功能只針對身份被標識為管理員的用戶開放。
系統(tǒng)功能模塊圖如下圖所示:
3.3 設(shè)計模式
3.3.1 用戶身份驗證設(shè)計
用戶進入該系統(tǒng),首先需要進行身份驗證。如果通過了身份驗證,則為合法用戶,同時其帳號和權(quán)限等資料將會保存在Session對象中。Session對象儲存的信息是局部的,隨用戶的不同而不同。當用戶訪問系統(tǒng)的各個子系統(tǒng)時,系統(tǒng)自動從Session對象中獲取用戶的資料,而無須將用戶的資料作為請求方法、參數(shù)名、參數(shù)值追加到URL中。這樣可以避免用戶惡意修改URL中的值來非法訪問。
3.3.2 創(chuàng)建班級功能的設(shè)計
注冊通過后的用戶才可以創(chuàng)建新班級。用戶創(chuàng)建新班級時必須輸入合法的班級名稱和基本信息,班級名稱被設(shè)定為數(shù)據(jù)庫中班級表的主鍵,系統(tǒng)將判斷新班級的名稱是否與數(shù)據(jù)庫中現(xiàn)有的記錄重復,如果重復就違反了主鍵唯一的原則,數(shù)據(jù)將不能夠被正確的輸入數(shù)據(jù)庫,所以要返回給用戶一個信息。否則,班級創(chuàng)建成功,創(chuàng)建者還需要補充用戶信息。
3.3.3 查詢功能設(shè)計
提供給用戶查詢功能,方便使用者查找親友或同學所屬哪個班級,還可以統(tǒng)計出目前班級擁有多少成員。此項功能是根據(jù)使用者輸入的關(guān)鍵字遍歷數(shù)據(jù)庫,查找有無匹配的記錄。如果記錄存在則將記錄輸出到用戶瀏覽端,否則返回一條信息給用戶。
3.3.4 刪除功能設(shè)計
作為班級管理員應該有管理班級的能力。刪除功能的設(shè)計正是為班級管理員設(shè)置的管理功能之一。其中包括兩部分,一是刪除班級成員,二是刪除整個班級。這個功能的實現(xiàn)需要使用SQL語言判斷管理員所在的班級,遍歷數(shù)據(jù)庫中有無使用者欲刪除的記錄。如果記錄存在,將記錄刪除。否則,返回信息到用戶瀏覽端。例如把姓名為“李四”的人刪除或刪除班級“計算機一班”。
3.4 數(shù)據(jù)庫描述
3.4.1 數(shù)據(jù)庫設(shè)計思想
數(shù)據(jù)庫設(shè)計是以上功能實現(xiàn)的基礎(chǔ)。數(shù)據(jù)庫設(shè)計的好壞直接影響功能的實現(xiàn)以及系統(tǒng)的運行效率。制作數(shù)據(jù)庫表首先要確定實體的屬性和實體間的關(guān)系。數(shù)據(jù)庫要存儲所有的班級信息和用戶信息,這些信息是班級的屬性和用戶的屬性。一個班級可以有若干的成員,也可以有一個以上的管理員。一個管理員只屬于一個班級。
角色設(shè)計初步將系統(tǒng)中的用戶角色分成以下三類:
一般用戶:查詢資料
班級管理員:查詢;數(shù)據(jù)的錄入、修改和刪除
系統(tǒng)管理員:查詢;數(shù)據(jù)的錄入、修改和刪除;用戶帳號、權(quán)限的維護
3.4.2 系統(tǒng)表結(jié)構(gòu)
本系統(tǒng)模塊建立班級表和用戶表兩個數(shù)據(jù)庫基本表。
班級表(CLASS_TABLE):存放用戶創(chuàng)建班級時輸入的基本信息。設(shè)班級名稱為主鍵。
用戶表(USER_TABLE):存放所有用戶的注冊信息。其中用字段標識管理員的屬性。
4.技術(shù)要點
各功能模塊中需要頻繁的進行數(shù)據(jù)庫操作,如果每遇到要使用數(shù)據(jù)庫便建立一次鏈接將在一定程度上增大系統(tǒng)開銷,加大程序員的工作量,這里有效利用了JavaBean文件,使服務(wù)器事先建立數(shù)據(jù)庫鏈接對象,所有的數(shù)據(jù)操作都使用該鏈接,從而提高了服務(wù)器效率。
5.總結(jié)
本系統(tǒng)是以JavaBean和JSP技術(shù)相結(jié)合制作的,系統(tǒng)中功能模塊基本達到設(shè)計的要求,然而系統(tǒng)功能的完善必須在實踐中不斷的摸索,以便進一步改進,達到良好的使用效果。
參考文獻:
[1]王民川.基于WEB校友錄的設(shè)計實現(xiàn)[J].才智,2011(5).
[2]王敏.基于MVC模式的校友錄系統(tǒng)設(shè)計與實現(xiàn)[J].計算機與數(shù)字工程,2011(2).