基于JSP的留言板課程設(shè)計_第1頁
基于JSP的留言板課程設(shè)計_第2頁
基于JSP的留言板課程設(shè)計_第3頁
基于JSP的留言板課程設(shè)計_第4頁
基于JSP的留言板課程設(shè)計_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、JSP課程設(shè)計報告書 基于jsp留言板專 業(yè):計算機(jī)信息管理班 級: 096111姓 名: 鐘 春 連學(xué) 號: 09611108指導(dǎo)老師: 姜 俊 坡東華理工大學(xué)二零一一年六月二十日一 需求分析隨著互聯(lián)網(wǎng)的迅猛的開展,網(wǎng)站給我們帶來不少的便利,于此同時,論壇根本是每個網(wǎng)站必有的功能,為用戶之間的交流提供的很好的平臺。我通過仔細(xì)的分析和規(guī)劃,本論壇有如下功能:用戶注冊,登錄,用戶信息修改,簽寫留言,留言查看,回復(fù)留言和管理員的普通維護(hù)功能等。這些功能的具體描述如下:1用戶注冊模塊:用戶可已成為本論壇的會員,通過表單把用戶的相關(guān)信息提交給數(shù)據(jù)庫。2登錄模塊:根本是每個系統(tǒng)必備的模塊,本論壇的登錄的

2、模塊分為兩個小模塊:普通用戶登錄,另一個是管理員登錄。3)簽寫留言模塊:這是論壇的主要功能之一,用戶把自己感興趣的話題發(fā)表到論壇上,與網(wǎng)上的會員進(jìn)行探討。4)回復(fù)留言模塊:這也是論壇的主要功能之一,用戶對別的用戶發(fā)表的留言進(jìn)行回復(fù)。5)普通的維護(hù)模塊:這是給管理員的功能,該功能對那些危害社會風(fēng)氣的留言刪除。6)用戶信息修改模塊:用戶能對自己的信息進(jìn)行修改。二 分析和設(shè)計頁面和數(shù)據(jù)庫設(shè)計網(wǎng)站論壇時,首先應(yīng)該區(qū)別是普通用戶登錄還是管理員登錄。如果是普通用戶登錄,那么該用戶只有查看和回復(fù)留言的權(quán)限。如果是管理員登錄,那么除了具有查看和回復(fù)權(quán)限外,還用具有管理論壇的權(quán)限。在用戶發(fā)表留言后,將顯示該用戶

3、的用戶名、性別、留言內(nèi)容和留言時間等內(nèi)容。如果在某個留言有回復(fù)內(nèi)容,那么顯示出是誰恢復(fù)了該篇留言和回復(fù)的內(nèi)容。另外還能在頁面中顯示當(dāng)前的系統(tǒng)的時間和訪問權(quán)限。數(shù)據(jù)庫設(shè)計通過以上的分析:數(shù)據(jù)庫應(yīng)有四個表,tb_user、td_topic、tb_reply、tb_counter。由于是個小型的論壇,選擇AEESS數(shù)據(jù)庫 程序的主要實(shí)現(xiàn)根據(jù)等級設(shè)置用戶權(quán)限,是用腳本言語javascript來顯示系統(tǒng)的當(dāng)前時間,并通過<marquee>來實(shí)現(xiàn)滾動的顯示,主要代碼如下:<% page contentType="text/html; charset=gb2312" l

4、anguage="java" import="java.sql.*" errorPage="" %><% include file="connDB.jsp" %><jsp:include page="counter.jsp" /><% ResultSet rs_user=stmt.executeQuery("select * from tb_user where username='"+session.getAttribute(&q

5、uot;username")+"'and status='版主'");boolean eof=rs_user.next();%><script language="javascript">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

6、 mm=date.getMinutes(); var SS=date.getSeconds(); if (MM<10) MM="0"+MM; if (DD<10) DD="0"+DD; if (HH<10) HH="0"+HH; if (mm<10) mm="0"+mm; if (SS<10) SS="0"+SS; switch (KK) case 1: KK="星期一" break; case 2: KK="星期二" bre

7、ak; 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+"

8、;:"+SS; if(document.all) div_date.innerHTML=str_date; var timer=setTimeout("clockon()",200);</script><table width="777" height="124" border="0" align="center" cellpadding="0" cellspacing="0" > <tr> <td al

9、ign="center" valign="top" height="5" bgcolor="#FFCCCC"></td> </tr> <tr> <td width="790" align="center" valign="top"> <img src="images/banner.gif" width="500" height="124"

10、></td> </tr> <tr> <td align="center" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0" > <tr> <td height="5"></td> </tr> </table></td>

11、</tr></table> <table width="777" height="21" border="0" align="center" cellpadding="0" cellspacing="0" background="images/revigate.GIF"> <tr align="center" valign="middle"> <%if(sessi

12、on.getAttribute("username")!=null)%> <td width="104"><a href="Topic_add.jsp">簽寫留言</a></td> <td width="101"><a href="modify.jsp">修改資料</a></td> <%else%> <td width="104"><a href

13、="reg.jsp">用戶注冊</a></td> <%> <td width="104"> <%if(session.getAttribute("username")!=null)%> <a href="Logout_User.jsp">注銷用戶</a> <%else%> <a href="#" Login_User.jsp','','width=300,h

14、eight=200');">用戶登錄</a> <%> </td> <td width="104"><a href="index1.jsp">查看留言</a></td> <td width="104"><a href="#" >刷新頁面</a></td> <td width="104"> <%if(eof)%> <

15、a href="Logout_User.jsp">注銷版主登錄</a> <%else %><a href="#" Login_manager.jsp','','width=300,height=200');">版主登錄</a><%></td> </tr></table><table width="777" height="47" border="0&

16、quot; align="center" cellpadding="0" cellspacing="0"> <tr align="center" valign="middle"> <td height="2" colspan="6"></td> </tr> <tr align="center" valign="middle"> <td width

17、="18" height="17" align="left"><img src="images/speaker.GIF" width="16" height="16"></td> <td width="290" align="left"><div >系統(tǒng)公告:</div></td> <td width="469" align=&quo

18、t;right" > <%if(session.getAttribute("username")!=null) out.println(" "+session.getAttribute("username")+" 您好!您不想說點(diǎn)什么嗎?如果想請點(diǎn)擊“簽寫留言!"); else out.println("您好!如果您想說點(diǎn)什么,那么請先注冊或登錄!"); %> </td> </tr> <tr align="center"

19、; valign="middle"> <td colspan="3"><marquee direction="left" scrollamount="2" scrolldelay="2"> 您好!歡送訪問“在水一方留言簿!已經(jīng)有 <%=application.getAttribute("count")%> 人訪問過本網(wǎng)站! </marquee></td> </tr></table><

20、;% stmt.close(); con.close();%>2 用戶登陸Login_User_deal.jsp在top.jsp中設(shè)計的是當(dāng)用戶單擊登錄連接的時候,彈出一個小的對話框來提供用戶的登錄功能,所以在在個頁面中需要刷新用戶登錄后的頁面,用到了腳本語言javascript中的一段代碼:open.location.reload().管理員登錄login_manager_deal.jsp與此頁面的代碼相似,下面就不再寫了。主要的代碼如下:<% page contentType="text/html; charset=gb2312" language=&quo

21、t;java" import="java.sql.*" errorPage="" %><jsp:include page="counter.jsp" /><% request.setCharacterEncoding("GB2312"); String username=request.getParameter("username"); String PWD=request.getParameter("PWD"); if(username!=

22、"")%> <% ResultSet rs=stmt.executeQuery("select * from tb_user where UserName='"+username+"' and status='用戶'"); if (rs.next() String rsPWD=rs.getString("PWD"); if(PWD.equals(rsPWD)%> <script language="javascript"> opene

23、r.location.reload(); window.close(); </script> <% session.setAttribute("username",username); else%> <script language="javascript"> alert("您輸入的密碼不正確,請重新輸入!"); history.back(); </script> <% else %><script language="javascript">

24、alert("您輸入的用戶名不正確,請重新輸入!");history.back();</script><%>3 留言回復(fù)reply_deal.jsp回復(fù)留言的關(guān)鍵如何準(zhǔn)確地將回復(fù)內(nèi)容和留言關(guān)聯(lián)起來。本例通過獲得留言查看index1.jsp頁面中的留言回復(fù)連接所傳遞過來的參數(shù)TopicTD留言記錄ID,來完成回復(fù)功能。添加留言Topic_add_deal.jsp于此相似,在次就不在介紹。主要程序代碼如下:<% page contentType="text/html; charset=gb2312" language="

25、;java" import="java.sql.*" errorPage="" %><% include file="connDB.jsp" %><html><head><meta -equiv="Content-Type" content="text/html; charset=gb2312"><title>回復(fù)信息</title></head><body><%! /處理字符竄

26、亂碼 public String getStr(String str) try String temp_p=str; String temp=new String(temp_p.getBytes("iso-8859-1"),"gb2312"); return temp; catch(Exception e) return "NULL" %><%String content=getStr(request.getParameter("content");int TopicID=Integer.parseIn

27、t(request.getParameter("TopicID");String replyuser=getStr(session.getAttribute("username").toString();if(content!=null && content.length()>0) String sql="Insert into tb_reply(TopicID,content,replyuser) values("+TopicID+",'"+content+"',&

28、#39;"+replyuser+"')" int ret=0; ret=stmt.executeUpdate(sql); if(ret!=0) out.println("<script language='javascript'>alert('回復(fù)信息成功!');window.location.href='index1.jsp'</script>"); else out.println("<script language='javascrip

29、t'>alert('回復(fù)信息失?。?#39;);window.location.href='index1.jsp'</script>"); else response.sendRedirect("index1.jsp");%></body></html>4 新用戶注冊reg_ok.jsp用戶注冊時應(yīng)先判斷用戶的數(shù)據(jù)是否正確。比方:兩次輸入的密碼是否一致,對必填的字段是否為空等要加以限制。這些可以通過jsp所創(chuàng)立的靜態(tài)頁面進(jìn)行判斷。這里主要是判斷新用戶注冊的用戶名是否已經(jīng)被占用,如果沒有

30、就將用戶所填寫的數(shù)據(jù)添加到數(shù)據(jù)庫中,如果被占用那么提示用戶重新填寫。主要的代碼如下:<% include file="connDB.jsp" %><% request.setCharacterEncoding("GB2312"); String username=request.getParameter("username"); String PWD=request.getParameter("PWD1"); String birthday=request.getParameter("b

31、irthday"); String sex=request.getParameter("sex"); String OICQ=request.getParameter("OICQ"); String tel=request.getParameter("tel"); String homepage=request.getParameter("homepage"); String address=request.getParameter("address"); String postcod

32、e=request.getParameter("postcode"); String Email=request.getParameter("Email"); ResultSet rs=stmt.executeQuery("select * from tb_user where UserName='"+username+"'"); if(rs.next() out.println("<script language='javascript'>alert('

33、;該用戶名已經(jīng)存在,請重新注冊!');window.location.href='reg.jsp'</script>"); else String sql="Insert into tb_user(UserName,PWD,Birthday,Sex,OICQ,Tel,homepage,address,postcode,Email,status) values('"+username+"','"+PWD+"','"+birthday+"

34、9;,'"+sex+"','"+OICQ+"','"+tel+"','"+homepage+"','"+address+"','"+postcode+"','"+Email+"','用戶')" int ret=0; ret=stmt.executeUpdate(sql); if (ret!=0) out.println(

35、"<script language='javascript'>alert('用戶注冊成功!');window.location.href='index1.jsp'</script>"); else out.println("<script language='javascript'>alert('用戶注冊失??!');window.location.href='reg.jsp'</script>"); %>5

36、 刪除留言Del.jsp當(dāng)管理員登錄后,在查看index1.jsp界面中會多出一個鏈接刪除。刪除留言同回復(fù)留言一樣,關(guān)鍵就是準(zhǔn)確地獲的所需要刪除留言記錄的ID。這里同樣使用的是index.jsp頁面中刪除這個鎖鏈所傳遞過來的參數(shù)TopicID,主要的代碼如下:<<% include file="connDB.jsp" %>-<%int TopicID=0;if(request.getParameter("TopicID")=null) response.sendRedirect("index1.jsp");el

37、se TopicID=Integer.parseInt(request.getParameter("TopicID"); if(TopicID!=0) String sql="" sql="Delete from tb_topic where > %> <script language="javascript"> var con; con=confirm("您真的要刪除該主題嗎?"); if(con!=true) window.location.href="index1.jsp" </script> <% int ret=0; ret=stmt.executeUpdate(s

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論