摘要:本文重點(diǎn)講解了JSP實(shí)現(xiàn)留言板系統(tǒng)網(wǎng)站的過程,一是數(shù)據(jù)庫的設(shè)計(jì)原則,二是前臺(tái)頁面的設(shè)計(jì),要求界面美觀大方,結(jié)合CSS和JavaScript來實(shí)現(xiàn),以及數(shù)據(jù)庫連接類的編寫。
關(guān)鍵詞:JSP;功能設(shè)計(jì);數(shù)據(jù)庫
中圖分類號(hào):TP393.092 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9599 (2012) 20-0000-02
1 留言板系統(tǒng)的功能設(shè)計(jì)
通過留言板系統(tǒng)網(wǎng)站,可以展示每一個(gè)人的風(fēng)采、優(yōu)點(diǎn),發(fā)布個(gè)人對(duì)一些事物的看法,增強(qiáng)個(gè)人之間,團(tuán)體之間,個(gè)人與團(tuán)體之間的交流聯(lián)系,在Internet上實(shí)現(xiàn)信息的傳遞,提高辦事效率。為了方便大家的勾通和信息的獲取,特開發(fā)留言板網(wǎng)站。該系統(tǒng)以Internet為平臺(tái),前臺(tái)可使任何人注冊(cè)、登陸在留言板上進(jìn)行發(fā)貼及討論,版主或者前臺(tái)管理者也可以進(jìn)行一部分管理。而管理員也可以在后臺(tái)進(jìn)行相關(guān)的管理。
數(shù)據(jù)庫設(shè)計(jì)是把現(xiàn)實(shí)世界的商業(yè)模型與需求轉(zhuǎn)換成數(shù)據(jù)庫的模型的過程,它是建立數(shù)據(jù)庫應(yīng)用系統(tǒng)的核心問題。設(shè)計(jì)的關(guān)鍵是如何使設(shè)計(jì)的數(shù)據(jù)庫能合理地存儲(chǔ)用戶的數(shù)據(jù),方便用戶進(jìn)行數(shù)據(jù)處理。數(shù)據(jù)庫設(shè)計(jì)完全是人的問題,而不是數(shù)據(jù)庫管理系統(tǒng)的問題。數(shù)據(jù)庫設(shè)計(jì)應(yīng)當(dāng)由數(shù)據(jù)庫管理員和系統(tǒng)分析員一起和用戶一道工作,了解各個(gè)用戶的要求,共同為整個(gè)數(shù)據(jù)庫做出恰當(dāng)?shù)?、完整的設(shè)計(jì)。數(shù)據(jù)庫及其應(yīng)用的性能和調(diào)優(yōu)都是建立在良好的數(shù)據(jù)庫設(shè)計(jì)的基礎(chǔ)上,數(shù)據(jù)庫的數(shù)據(jù)是一切操作的基礎(chǔ),如果數(shù)據(jù)庫設(shè)計(jì)不好,則其它一切調(diào)優(yōu)方法提高數(shù)據(jù)庫性能的效果都是有限的。
(1)本系統(tǒng)使用JSP作為開發(fā)工具,SQLServer2005為后臺(tái)數(shù)據(jù)庫,構(gòu)建一個(gè)小型留言板網(wǎng)站系統(tǒng),從功能需求到框架規(guī)劃再到數(shù)據(jù)庫設(shè)計(jì)。
(2)留言板網(wǎng)站為用戶提供一個(gè)方便交流的平臺(tái),用戶可以注冊(cè),可以發(fā)表留言。管理員對(duì)留言和用戶進(jìn)行添加、刪除、修改和更新操作。
(3)提供新“用戶注冊(cè)”功能,注冊(cè)用戶能夠管理自己的賬戶信息。
(4)會(huì)員可以“留言”,可以“修改密碼”,可以“查詢”自己相應(yīng)的信息。
(5)管理員通過“后臺(tái)登錄”后,可以通過“留言管理”來“查看”“回復(fù)的”或“未回復(fù)的”留言,可以對(duì)留言進(jìn)行“回復(fù)”,也可以“刪除”留言。通過“會(huì)員管理”來“查看”會(huì)員信息,對(duì)會(huì)員進(jìn)行相應(yīng)的“封殺”或者是“刪除”。
(6)在用戶或管理員對(duì)系統(tǒng)進(jìn)行相應(yīng)的操作時(shí),系統(tǒng)為了減少錯(cuò)誤的發(fā)生,每一步操作都給予“確認(rèn)”提示。
(7)記錄留言用戶的詳細(xì)信息,包括登錄及離開時(shí)間、用戶IP等。通過分析這些信息可以對(duì)系統(tǒng)提供安全保護(hù)機(jī)制。
2 留言板系統(tǒng)的實(shí)現(xiàn)過程
2.1 創(chuàng)建完整的留言板數(shù)據(jù)庫
根據(jù)留言板系統(tǒng)的需求分析,抽象出系統(tǒng)的實(shí)體對(duì)象:管理員、留言和會(huì)員等。根據(jù)實(shí)體和實(shí)體之間的聯(lián)系建立相應(yīng)的數(shù)據(jù)表。在設(shè)計(jì)數(shù)據(jù)庫和信息表時(shí),表的命名盡可能達(dá)到“顧名思義”。在設(shè)計(jì)表的結(jié)構(gòu)時(shí),為了方便,這里的ID號(hào)都設(shè)為了自動(dòng)增長(zhǎng)列。
2.2 頁面效果設(shè)計(jì)
為了使留言板系統(tǒng)的頁面更加美觀、使用戶和頁面更具有互動(dòng)性,根據(jù)系統(tǒng)實(shí)現(xiàn)的整個(gè)過程,編寫了CSS文件和JavaScript文件,以滿足頁面的特效。這里使用的是CSS外部樣式,方便多個(gè)網(wǎng)頁文件共同來使用。CSS屬性的設(shè)置,根據(jù)自己的審美來相應(yīng)設(shè)置,但是要做到頁面美觀、大方、簡(jiǎn)潔。這里也寫了一個(gè)獨(dú)立的JS文件,方便多個(gè)網(wǎng)頁文件引入。
3 完成系統(tǒng)的公共類
為了實(shí)現(xiàn)系統(tǒng)的可維護(hù)性,實(shí)現(xiàn)HTML與代碼的分離,抽象出相應(yīng)的JavaBean。
編寫數(shù)據(jù)庫類文件Db.java類
1)JSP連接SQL Server代碼為:
String driverName = \"com.microsoft.jdbc.sqlserver.SQLServerDriver\";
String url = \"jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=user_db\";
String username = \"sa\";
String password = \"123\";
private Connection conn = 1;
private Statement stmt=1;
2)編寫操作SQL語句的execute()方法。
public boolean execute(String sql){
try {
Class.forName(this.driverName);
conn=DriverManager.getConnection(url,username,password);
stmt=conn.createStatement();
stmt.execute(sql);
stmt.close();
conn.close();
return true;
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();}
finally{
if(stmt!=1)
stmt=1;
if(conn!=1)
conn=1;}
return 1;}
4 小結(jié)
在本留言板系統(tǒng)中,有一些功能給予了提示,但沒有實(shí)現(xiàn),請(qǐng)?jiān)诂F(xiàn)有留言板系統(tǒng)的基礎(chǔ)上,實(shí)現(xiàn)以下功能:
(1)實(shí)現(xiàn)留言信息的屏蔽功能,把不安全或不文明的信息,管理員請(qǐng)予以屏蔽。
(2)實(shí)現(xiàn)會(huì)員信息的封殺,把違反系統(tǒng)規(guī)定,或是不能達(dá)到本系統(tǒng)要求的會(huì)員進(jìn)行封殺。
(3)在頁面的數(shù)據(jù)顯示中,沒有數(shù)據(jù)分頁顯示,請(qǐng)寫一個(gè)JavaBean,然后調(diào)用這個(gè)JavaBean來分頁顯示數(shù)據(jù)。
(4)針對(duì)現(xiàn)有系統(tǒng)的實(shí)現(xiàn),結(jié)合自己的分析,盡可能完善留言板系統(tǒng),使其更具實(shí)用性。
參考文獻(xiàn):
[1]張興科.JSP動(dòng)態(tài)網(wǎng)站設(shè)計(jì)項(xiàng)目教程[M].電子工業(yè)出版社,2010,05.
[2]吳建玉.JSP動(dòng)態(tài)網(wǎng)頁設(shè)計(jì)教程[M].浙江大學(xué)出版社,2009,01.