




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 jsp在水一方留言簿設(shè)計(jì)報(bào)告一 需求分析隨著互聯(lián)網(wǎng)的迅猛的發(fā)展,網(wǎng)站給我們帶來(lái)不少的便利,于此同時(shí),論壇基本是每個(gè)網(wǎng)站必有的功能,為用戶之間的交流提供的很好的平臺(tái)。我通過(guò)仔細(xì)的分析和規(guī)劃,本論壇有如下功能:用戶注冊(cè),登錄,用戶信息修改,簽寫留言,留言查看,回復(fù)留言和管理員的普通維護(hù)功能等。 這些功能的具體描述如下:1)用戶注冊(cè)模塊:用戶可已成為本論壇的會(huì)員,通過(guò)表單把用戶的相關(guān)信息提交給數(shù)據(jù)庫(kù)。2)登錄模塊:基本是每個(gè)系統(tǒng)必備的模塊,本論壇的登錄的模塊分為兩個(gè)小模塊:普通用戶登錄,另一個(gè)是管理員登錄。3)簽寫留言模塊:這是論壇的主要功能之一,用戶把自己感興趣的話題發(fā)表到論壇上,與網(wǎng)上的會(huì)員進(jìn)
2、行探討。4)查看留言模塊:這也是論壇的主要功能之一,把用戶發(fā)表的留言逐條,安順序顯示出來(lái)。5)回復(fù)留言模塊:這也是論壇的主要功能之一,用戶對(duì)別的用戶發(fā)表的留言進(jìn)行回復(fù)。6)普通的維護(hù)模塊:這是給管理員的功能,該功能對(duì)那些危害社會(huì)風(fēng)氣的留言刪除。7)用戶信息修改模塊:用戶能對(duì)自己的信息進(jìn)行修改。 二 分析和設(shè)計(jì)(頁(yè)面和數(shù)據(jù)庫(kù))設(shè)計(jì)網(wǎng)站論壇時(shí),首先應(yīng)該區(qū)別是普通用戶登錄還是管理員登錄。如果是普通用戶登錄,那么該用戶只有查看和回復(fù)留言的權(quán)限。如果是管理員登錄,則除了具有查看和回復(fù)權(quán)限外,還用具有管理論壇的權(quán)限。在用戶發(fā)表留言后,將顯示該用戶的用戶名、性別、留言內(nèi)容和留言時(shí)間等內(nèi)容。如果在某個(gè)留言有回
3、復(fù)內(nèi)容,則顯示出是誰(shuí)恢復(fù)了該篇留言和回復(fù)的內(nèi)容。另外還能在頁(yè)面中顯示當(dāng)前的系統(tǒng)的時(shí)間和訪問(wèn)權(quán)限。 數(shù)據(jù)庫(kù)設(shè)計(jì)通過(guò)以上的分析:數(shù)據(jù)庫(kù)應(yīng)有四個(gè)表,tb_user、td_topic、tb_reply、tb_counter。由于是個(gè)小型的論壇,選擇aeess數(shù)據(jù)庫(kù)。具體各表的設(shè)計(jì)如下:1 分析得知tb_user表功能的記錄用戶的信息,具有如下字段:id、username、pwd、birthday、sex、oicq、tel、homepage、address、postcode、email、status。 2 分析得知tb_topic表功能是存放用戶發(fā)表的留言,具有如下字段:id、anthor、face、c
4、ontent、datetime。 3 分析得知tb_reply表功能是用于存放用戶對(duì)每條留言所回復(fù)的信息,具有如下字段:id、tpoicid、content、replyuser。 4 通過(guò)分析得知:tb_counter是記錄網(wǎng)站每天的訪問(wèn)次數(shù),有如下兩個(gè)字段:accesstime、hit。 5.通過(guò)分析,在顯示留言的是時(shí)候,要用到tb_user和tb_topic兩張表,所以要設(shè)計(jì)一個(gè)具有這兩張表的一個(gè)視圖:首先建立關(guān)系如下: 視圖如下: 頁(yè)面設(shè)計(jì)1 網(wǎng)站的流程體如下: 2 各頁(yè)面功能實(shí)現(xiàn)說(shuō)明:1) 系統(tǒng)提供的服務(wù)(top.jsp) 程序的主要實(shí)現(xiàn)根據(jù)等級(jí)設(shè)置用戶權(quán)限,是用腳本言語(yǔ)(javasc
5、ript)來(lái)顯示系統(tǒng)的當(dāng)前時(shí)間,并通過(guò)來(lái)實(shí)現(xiàn)滾動(dòng)的顯示,主要代碼如下:function clockon()var date=new date(); var yy=date.getyear(); var mm=date.getmonth()+1; var dd=date.getdate(); var kk=date.getday(); var hh=date.gethours(); var mm=date.getminutes(); var ss=date.getseconds(); if (mm10) mm=0+mm; if (dd10) dd=0+dd; if (hh10) hh=0+hh;
6、 if (mm10) mm=0+mm; if (ss10) ss=0+ss; switch (kk) case 1: kk=星期一; break; case 2: kk=星期二; break; case 3: kk=星期三; break; case 4: kk=星期四; break; case 5: kk=星期五; break; case 6: kk=星期六; break; case 0: kk=星期日; break; var str_date= 系統(tǒng)公告:+yy+年+mm+月+dd+日 +kk+ +hh+:+mm+:+ss; if(document.all) div_date.innerht
7、ml=str_date; var timer=settimeout(clockon(),200); 簽寫留言 修改資料 用戶注冊(cè) 注銷用戶 用戶登錄 查看留言 刷新頁(yè)面 注銷版主登錄 版主登錄 系統(tǒng)公告: 您好!歡迎訪問(wèn)“在水一方”留言簿!已經(jīng)有 人訪問(wèn)過(guò)本網(wǎng)站! 2) 查看留言(index1.jsp)將所有的;留言記錄通過(guò)循環(huán)顯示在客戶端,并將某條留言的回復(fù)記錄和回復(fù)者的姓名也顯示出來(lái)。如果是登錄用戶的權(quán)限為普通用戶,那么該用戶的權(quán)限極為回復(fù)留言。如果是管理員,那么該用戶的權(quán)限就是回復(fù)和刪除留言。由于涉及到多條記錄的顯示,我們用了分頁(yè)顯示的方法出來(lái)。定義每個(gè)頁(yè)面顯示的記錄,通過(guò)results
8、et對(duì)象計(jì)算出總的記錄數(shù),通過(guò)這兩個(gè)數(shù)據(jù)計(jì)算總的頁(yè)數(shù)。主要代碼如下: -%boolean tj=rs_user.next();string str=(string)request.getparameter(page);if(str=null) str=0;int pagesize=5; /每頁(yè)顯示的數(shù)據(jù)條數(shù)rs.last();int recordcount=rs.getrow(); /獲得記錄的總條數(shù)int maxpage=0;maxpage=(recordcount%pagesize=0)?(recordcount/pagesize):(recordcount/pagesize+1); /得
9、到的是總頁(yè)數(shù) int page=integer.parseint(str); /當(dāng)前時(shí)第幾頁(yè)if(pagerecordcount) page=maxpage; rs.absolute(page-1)*pagesize+1);for(int i=1;i () 生 表情: img src=images/email.gif alt=email: width=16 height=16 img src=images/home-menu.gif alt=個(gè)人主頁(yè): width=26 height=20 img src=images/atusers.gif alt=oicq號(hào)碼: width=14 heig
10、ht=16 img src=images/datetime.gif alt= width=18 height=18 留言時(shí)間: % out.println(回復(fù) ); if(tj)out.println(刪除);% 回復(fù) 當(dāng)前頁(yè)數(shù):/ 1)% 第一頁(yè)a href=index1.jsp?page=上一頁(yè) % if(page a href=index1.jsp?page=下一頁(yè)a href=index1.jsp?page=最后一頁(yè) 3) 用戶登陸(login_user_deal.jsp)在top.jsp中設(shè)計(jì)的是當(dāng)用戶單擊登錄
11、連接的時(shí)候,彈出一個(gè)小的對(duì)話框來(lái)提供用戶的登錄功能,所以在在個(gè)頁(yè)面中需要刷新用戶登錄后的頁(yè)面,用到了腳本語(yǔ)言(javascript)中的一段代碼:open.location.reload().管理員登錄(login_manager_deal.jsp)與此頁(yè)面的代碼相似,下面就不再寫了。主要的代碼如下: opener.location.reload(); window.close(); alert(您輸入的密碼不正確,請(qǐng)重新輸入!); history.back(); alert(您輸入的用戶名不正確,請(qǐng)重新輸入!);history.back();4) 留言回復(fù)(reply_deal.jsp)回復(fù)
12、留言的關(guān)鍵如何準(zhǔn)確地將回復(fù)內(nèi)容和留言關(guān)聯(lián)起來(lái)。本例通過(guò)獲得留言查看(index1.jsp)頁(yè)面中的留言回復(fù)連接所傳遞過(guò)來(lái)的參數(shù)topictd(留言記錄id),來(lái)完成回復(fù)功能。添加留言(topic_add_deal.jsp)于此相似,在次就不在介紹。主要程序代碼如下:回復(fù)信息 0) string sql=insert into tb_reply(topicid,content,replyuser) values(+topicid+,+content+,+replyuser+); int ret=0; ret=stmt.executeupdate(sql); if(ret!=0) out.prin
13、tln(alert(回復(fù)信息成功!);window.location.href=index1.jsp;); else out.println(alert(回復(fù)信息失?。?;window.location.href=index1.jsp;); else response.sendredirect(index1.jsp);%5) 修改資料(modify_deal.jsp)用戶登錄后,如果想修改除了用戶名以外的資料時(shí),單擊相應(yīng)的連接進(jìn)入修改資料頁(yè)面進(jìn)行操作。主要代碼如下: !doctype html public -/w3c/dtd html 4.01 transitional/en 0 ) str
14、ing pwd=getstr(request.getparameter(pwd1); string birthday=request.getparameter(birthday); string sex=getstr(request.getparameter(sex); string oicq=getstr(request.getparameter(oicq); string tel=getstr(request.getparameter(tel); string homepage=getstr(request.getparameter(homepage); string address=ge
15、tstr(request.getparameter(address); string postcode=request.getparameter(postcode); string email=getstr(request.getparameter(email); int ret=0; string sql=update tb_user set pwd=+pwd+,birthday=+birthday+,sex=+sex+,oicq=+oicq+,tel=+tel+,homepage=+homepage+,address=+address+,postcode=+postcode+,email=
16、+email+ where username=+username+; ret=stmt.executeupdate(sql); if(ret!=0) out.println(alert(資料修改成功!);window.location.href=index1.jsp;); else out.println(alert(資料修改失??!);window.location.href=modify.jsp;); else response.sendredirect(modify.jsp);% 6) 新用戶注冊(cè)(reg_ok.jsp)用戶注冊(cè)時(shí)應(yīng)先判斷用戶的數(shù)據(jù)是否正確。比如:兩次輸入的密碼是否一致,對(duì)
17、必填的字段是否為空等要加以限制。這些可以通過(guò)jsp所創(chuàng)建的靜態(tài)頁(yè)面進(jìn)行判斷。這里主要是判斷新用戶注冊(cè)的用戶名是否已經(jīng)被占用,如果沒(méi)有就將用戶所填寫的數(shù)據(jù)添加到數(shù)據(jù)庫(kù)中,如果被占用則提示用戶重新填寫。主要的代碼如下:% request.setcharacterencoding(gb2312); string username=request.getparameter(username); string pwd=request.getparameter(pwd1); string birthday=request.getparameter(birthday); string sex=request
18、.getparameter(sex); string oicq=request.getparameter(oicq); string tel=request.getparameter(tel); string homepage=request.getparameter(homepage); string address=request.getparameter(address); string postcode=request.getparameter(postcode); string email=request.getparameter(email); resultset rs=stmt.
19、executequery(select * from tb_user where username=+username+); if(rs.next() out.println(alert(該用戶名已經(jīng)存在,請(qǐng)重新注冊(cè)!);window.location.href=reg.jsp;); else string sql=insert into tb_user(username,pwd,birthday,sex,oicq,tel,homepage,address,postcode,email,status) values(+username+,+pwd+,+birthday+,+sex+,+oicq
20、+,+tel+,+homepage+,+address+,+postcode+,+email+,用戶); int ret=0; ret=stmt.executeupdate(sql); if (ret!=0) out.println(alert(用戶注冊(cè)成功!);window.location.href=index1.jsp;); else out.println(alert(用戶注冊(cè)失??!);window.location.href=reg.jsp;); %7) 刪除留言(del.jsp)當(dāng)管理員登錄后,在查看(index1.jsp)界面中會(huì)多出一個(gè)鏈接刪除。刪除留言同回復(fù)留言一樣,關(guān)鍵就是
21、準(zhǔn)確地獲的所需要?jiǎng)h除留言記錄的id。這里同樣使用的是index.jsp頁(yè)面中刪除這個(gè)鎖鏈所傳遞過(guò)來(lái)的參數(shù)(topicid),主要的代碼如下:- % var con; con=confirm(您真的要?jiǎng)h除該主題嗎?); if(con!=true) window.location.href=index1.jsp; % int ret=0; ret=stmt.executeupdate(sql); if (ret!=0) out.println(alert(留言信息刪除成功!);window.location.href=index1.jsp;); else out.println(alert(留言信息刪除失?。?;window.location.href=index1.jsp;); %8) 這段代碼比較簡(jiǎn)單,只要將session對(duì)象中存儲(chǔ)的值清空即可。主要的代碼如下: function my
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 石坎施工方案
- 培訓(xùn)機(jī)構(gòu)消防施工方案
- 關(guān)于施工方案
- 美麗人生觀后感
- 二零二五年度私人房產(chǎn)全款買賣合同(限智能家居)
- 甲乙丙方2025年度轉(zhuǎn)租健身房租賃合同
- 2025年度電力工程安全防護(hù)電力勞務(wù)分包合同模板
- 二零二五年度生物樣本低溫保管與共享協(xié)議
- 工傷事故賠償及職工權(quán)益保護(hù)協(xié)議2025年度范本
- 二零二五年度科技孵化器場(chǎng)地租賃管理服務(wù)合同
- 廉政鑒定書(shū)(院內(nèi)廉政意見(jiàn)書(shū))
- 《潘姓源于固始,是不爭(zhēng)的史實(shí)》的考辨
- 二次電纜敷設(shè)、接線作業(yè)指導(dǎo)書(shū)
- 焊接技師培訓(xùn)教材(釬焊)課件
- 《等腰三角形的性質(zhì)》優(yōu)秀課件
- 原發(fā)性肝癌經(jīng)皮肝動(dòng)脈化療栓塞術(shù)(TACE)臨床路徑
- 異常情況匯報(bào)流程圖
- 化工工藝學(xué)-第二章-化工原料及其初步加工
- 全國(guó)水資源綜合規(guī)劃技術(shù)細(xì)則(水利部文件)
- 02312電力系統(tǒng)遠(yuǎn)動(dòng)及調(diào)度自動(dòng)化
- 校園欺凌談心記錄
評(píng)論
0/150
提交評(píng)論