(廣州海洋地質調查局廣州510760)
第壹作者簡介:黃旭,女,1974出生,廣州海洋地質調查局信息所網絡室工程師。
闡述了我局開發的基於B/S模式的網站動態信息發布系統,描述了系統的基本模塊和功能。該系統使用JavaBean組件技術集成程序代碼,使用JDBC訪問Web數據庫,並給出了系統實現的部分關鍵代碼。
JavaBean,JSP B/S模式動態信息發布系統
廣州海洋地質調查局互聯網站於2003年建立,是樹立單位形象、展示我局最新科研成果、先進技術設備和手段的重要窗口。目前,我局互聯網站的圖文信息發布采用傳統的手工制作網頁的靜態信息發布模式。這種模式效率低下,不能體現動態信息的時效性,給網絡信息內容的審核和管理帶來諸多不便。這不利於網站作用的發揮。開發動態圖文信息發布系統的目的是提高網站動態圖文信息發布的自動化程度和工作效率,避免繁瑣的網頁制作過程,讓不懂網頁制作的人也能更新網站的動態信息內容,方便信息審核和管理。
JSP作為壹種成熟的動態網頁開發技術,是由SunMicrosystems發起,多家公司建立的動態網頁技術標準。JSP技術具有以下特點:①對平臺通用性的適應性;②安全性更好;③組件開發的便利性[1]。考慮到以上因素,我們在開發網站動態信息發布系統的過程中采用了JSP技術。
1系統結構模式
本系統是基於B/S(瀏覽器/Web服務器)模式開發的。具體來說,它采用了如圖1所示的三層架構,包括:①表示層;②邏輯層;③數據層。
其中,表示層是互聯網動態信息發布系統的用戶界面部分,是實現用戶與應用之間邏輯處理結果的交互接口,是用戶與互聯網交換信息的窗口,由瀏覽器組成。邏輯層完成所有與信息發布系統相關的事務邏輯,Web服務器是這壹層的重要組成部分。它根據客戶端的請求啟動相應的進程完成相關的交易處理,並將處理結果以HTML代碼的形式發送給客戶端瀏覽器。信息發布系統主要由客戶端瀏覽器、公司網站、信息發布系統和數據庫四部分組成(圖2)。該系統使用Tomcat 5.0.28作為嵌入Web服務器的JSP引擎。在這壹層,為了提高執行效率和安全性[3],通過JavaBean實現與數據庫的連接。數據層由數據庫服務器組成,主要提供數據管理,讀寫數據庫數據,可以更新和檢索大量數據,完成數據存儲。本系統使用的數據庫服務器是SQLServer2000。
圖1三層架構
圖1三層
圖2信息發布系統的四個部分
圖2信息發布系統的四個部分
2系統的基本功能模塊
考慮到實際需求,設計了如圖3所示的基本功能模塊。以下是主要模塊的功能分析。
2.1系統登錄
在系統登錄模塊中,主要用於檢查用戶身份的合法性,根據用戶的身份動態定向到不同的頁面,使不同身份的用戶擁有不同的操作權限。
2.2新聞信息管理模塊
主要用於用戶發布、編輯、查看和審核新聞信息。包括以下基本操作:
1)壹級菜單管理前臺顯示的主菜單。
2)二級菜單在後臺顯示用戶已發布的新聞信息,並提供允許用戶根據權限查看、編輯、刪除已發布信息的功能。
3)發布新聞,實現新聞信息的輸入、編輯、預覽和圖片上傳功能。
4)審核新聞允許有審核權限的用戶對新聞信息進行審核和編輯。
圖3信息發布系統的模塊
圖3信息發布系統的模塊
2.3用戶管理模塊
主要為管理員提供用戶信息和新聞信息的基本維護和管理。
1)添加用戶用於管理員添加新用戶和設置用戶權限。
2)查看/刪除用戶用於管理員管理現有用戶。
3)修改用戶密碼提供允許用戶修改初始密碼的功能。
4)新聞統計系統可以根據相應的要求形成新聞信息發布統計表。
3詳細設計
3.1系統平臺建設
J2 SDK是Java2的軟件開發工具,是Java應用的基礎。JSP是基於Java技術的,所以在配置JSP環境之前必須安裝J2 SDK。本系統使用Tomcat作為JSP引擎。軟件安裝完成後,應該配置環境變量。
3.2利用JDBC技術實現數據庫連接
數據庫連接是動態網站最重要的部分。Java中連接數據庫的技術是JDBC(Java Database Connectivity),它是壹個用於執行SQL的Java API。它由壹組用Java語言編寫的類和接口組成,為數據庫應用程序開發人員和數據庫前臺工具開發人員提供了壹個標準的應用程序編程接口,使開發人員可以用純Java API語言編寫完整的數據庫應用程序[4]。在開發中,我們使用JavaBean封裝了數據庫連接、SQL語句執行等常見的數據庫操作,避免了直接在數據庫上操作帶來的項目龐大、代碼長、維護困難等問題。同時,為了節省時間和資源,避免傳統連接方式引起的數據庫重啟,我們采用了數據庫連接池技術。主要代碼如下:
連接連接=空;
語句stmt = null
resu 1 tset RS = null;
嘗試
{
c 1 ass . forname(" com . Microsoft . JDBC . SQL server . SQL server driver ");//加載sql驅動程序
conn = driver manager . getconnection(" JDBC:Microsoft:SQL server://localhost:1433;DatabaseName=gmgs ",user="root ",PassWord =//創建連接
stmt = conn . create statement(Resultset。類型滾動敏感,結果集。concur read _ ONLY);
string SQL = " select * from art Where id =ˊ"+id+"ˊ";
resu 1 tset RS = SQL bean . execute query(SQL);//執行sql語句
}
conn . close();//將連接返回到連接池[5]
3.3使用JavaBean訪問數據庫
JavaBean是Java類的壹種,通過封裝屬性和方法,成為具有某種功能或處理某種業務的對象。JavaBeans被組織成包以便管理。實際上是將壹組JavaBeans放在壹起放在某個目錄下,每個類的定義都以package為前綴。將經編文件放入JSP server [6]的特定目錄下的類中。
在JSP中使用JavaBean需要以下步驟:
1)定義javaBean組件,將壹組JavaBean放在壹起放在某個目錄下,在每個類的定義前添加Package,生成壹個. Java文件;
2)用JDK的Javac命令編譯定義好的類,生成。類文件;
3)在JSP文件中調用JavaBean。該方法如下:
設置要引用的JavaBean,生成壹個JavaBean的實例,並用< < jsp:useBean > >標記完成。實例化壹個JavaBean,妳可以訪問它的屬性。屬性值是通過使用< < jsp:getproperty > >標記獲得的,JavaBean屬性值是通過使用< < jsp:setproperty > >標記[7]改變的。
例如,要完成用戶註冊功能,首先定義壹個名為OP user.java的JavaBean組件,該組件通過add()方法將用戶在表單中填寫的信息添加到數據庫表user中,如果添加成功則返回true,否則返回false。在實現用戶註冊功能的頁面register.jsp上調用這個JavaBean,代碼如下:
< JSP:useBean id = " user " scope = " Page " class = " gmgsinfo . run . op user "/>
//實例化
Gmgsinfo.run.op user,在當前JSP頁面中找到這個JavaBean的標識符是user。
If(user.add(request))//直接使用add()方法,並將請求對象作為參數。
3.4數據庫描述
數據庫* * *設計五個數據表。
管理員表字段包括管理員賬號、密碼、管理員姓名、部門、電話號碼和權限。
審計表字段包括是否審計。
列表字段包括列名。
新聞表格字段包括新聞標題、欄目、副標題、審批人、新聞作者、新聞發布人、添加時間、修改時間、部門、新聞內容(包括圖片)、審批人。
部門表的字段包括部門名稱。
3.5程序描述
3.5.1用戶管理
信息發布系統的用戶主要有三類:系統管理員、審核人員和普通維護人員。添加用戶的過程是先輸入壹個用戶名,然後調用數據庫確定用戶名沒有被使用,再填寫用戶信息表,設置用戶的初始密碼和權限,最後將用戶信息寫入數據庫。用戶登錄的流程是用戶提交登錄表單後,需要調用數據庫來判斷用戶的賬號和密碼是否正確。如果正確,在會話對象中記錄用戶名;如果不正確,返回登錄界面,重新登錄。如果登錄用戶是系統管理員,則進入管理員用戶界面;如果是普通用戶,會登錄普通用戶界面。用戶登錄後可以修改初始密碼,修改後的信息會被重新寫入數據庫。新聞統計表根據質量記錄的要求,將發布的新聞以表格的形式顯示出來,用戶可以通過打印機直接打印出來。
3.5.2新聞信息管理
壹級菜單表單管理網站首頁顯示的主菜單。用戶可以添加需要在主頁上顯示的主菜單。二級菜單表單顯示系統中用戶發布的所有新聞。包括新聞標題,發布時間,下級菜單,新聞發布者,是否批準。用戶可以點擊新聞標題預覽新聞,並可以修改或刪除自己發布的新聞。當用戶點擊修改或刪除選項時,系統會根據保存在Session對象中的用戶名調用數據庫中的用戶信息來判斷用戶是否有權限。如果妳有權限,允許妳修改或刪除新聞,否則會提示妳沒有權限。在發布新聞的形式中,用戶只需要在相應的文本框中輸入信息,系統就會自動生成壹個網頁,並將信息保存在數據庫中。文章內容欄是壹個簡單的fckeditor,用戶可以編輯輸入的新聞信息。用戶可以通過上傳圖片選項將圖片從網頁上傳到數據庫。新聞輸入完成後,用戶可以以網頁的形式預覽發布的新聞。在審批新聞表單中有審批權限的用戶可以對發布的新聞進行審批,編輯新聞內容,並再次保存到數據庫中。如果新聞已經被批準,它將被顯示在網站的主頁上。
3.6系統流程分析
當用戶登錄系統並通過系統驗證後,系統會自動將用戶基本信息和用戶權限信息保存在服務器上。此時,如果用戶擁有相應的權限,就可以進行用戶和權限管理、欄目管理、信息發布、信息審核等操作。
對於普通用戶,可以選擇登錄系統後進行上述操作。當用戶選擇壹個模塊並對其進行操作時,系統會查詢保存在服務器中的用戶權限。驗證通過後,系統會向用戶顯示相應的信息或功能頁面,用戶可以根據自己的權限對瀏覽的內容進行添加、編輯和刪除。如果用戶需要發布信息,可以點擊發布新聞模塊,在相應的標題欄輸入信息,在文章內容欄輸入要發布的內容,系統會調用相應的模板形成網頁。用戶可以通過單擊“確定”來預覽剛剛制作的網頁。如果權限驗證失敗,說明用戶沒有相應的權限,系統會彈出警告信息,通知用戶不能進行該操作。確認警告信息後,不影響用戶繼續進行其他有權限的操作。
當用戶以管理員身份進入系統時,默認情況下,系統管理員擁有維護和管理系統的最大權限,即管理員可以進行用戶管理、用戶角色管理、用戶權限管理、發布信息、文章管理、審核信息等操作。每個用戶可以有多個角色,這意味著每個用戶可以有多個權限。
4結論
JSP繼承了Java的面向對象編程語言能力和跨平臺優勢,可以和HTML緊密結合。與傳統的CGI程序相比,JSP不僅易於編寫和執行,而且大大提高了系統的執行性能,提高了信息審核、發布和管理的效率。
參考
[1]任彥。使用JSP發布數據庫信息。計算機工程與應用,2002,38 (7): 212 ~ 214,249。
[2]馬蒂·霍爾,拉裏·布朗。Servlet和JSP核心編程(第二版)。北京:清華大學出版社,2004,(6)
[3]瞿霞。基於JSP的數據庫應用安全訪問控制設計。計算機開發與應用,2005,18 (6): 15 ~ 16,19。
[4]孫敏。JSP連接數據庫方法。計算機知識與技術,2005,3: 21 ~ 22。
[5]李興峰,王宜芝。基於JSP的Web動態數據庫交互技術探討。計算機應用與軟件,2005,22 (4): 26 ~ 27,127。
[6]李淵,劉·。使用JavaBeans連接數據庫的JSP應用程序。2005,12 (1): 77 ~ 80.
[7]孟,沈君宜。壹種WEB數據庫應用安全設計的實現。計算機工程與應用,2002,9: 119。
基於JSP的廣州海洋地質調查局動態信息發布系統網站
黃港龍
(廣州海洋地質調查局,廣州,510760)
摘要:本文介紹了gmgs設計的基於B/S模式的動態信息發布系統,描述了系統的基本模塊和功能。系統使用JaveBean技術集成程序代碼,使用JDBC訪問Web數據庫,並給出了系統實現的關鍵代碼。
關鍵詞:JSP B/S模式動態信息發布系統web JavaBean