版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、JSP課程設計報告書 基于jsp留言板專 業(yè):計算機信息管理班 級: 096111姓 名: 鐘 春 連學 號: 09611108指導老師: 姜 俊 坡東華理工大學二零一一年六月二十日一 需求分析隨著互聯(lián)網的迅猛的開展,網站給我們帶來不少的便利,于此同時,論壇根本是每個網站必有的功能,為用戶之間的交流提供的很好的平臺。我通過仔細的分析和規(guī)劃,本論壇有如下功能:用戶注冊,登錄,用戶信息修改,簽寫留言,留言查看,回復留言和管理員的普通維護功能等。這些功能的具體描述如下:1用戶注冊模塊:用戶可已成為本論壇的會員,通過表單把用戶的相關信息提交給數(shù)據(jù)庫。2登錄模塊:根本是每個系統(tǒng)必備的模塊,本論壇的登錄的
2、模塊分為兩個小模塊:普通用戶登錄,另一個是管理員登錄。3)簽寫留言模塊:這是論壇的主要功能之一,用戶把自己感興趣的話題發(fā)表到論壇上,與網上的會員進行探討。4)回復留言模塊:這也是論壇的主要功能之一,用戶對別的用戶發(fā)表的留言進行回復。5)普通的維護模塊:這是給管理員的功能,該功能對那些危害社會風氣的留言刪除。6)用戶信息修改模塊:用戶能對自己的信息進行修改。二 分析和設計頁面和數(shù)據(jù)庫設計網站論壇時,首先應該區(qū)別是普通用戶登錄還是管理員登錄。如果是普通用戶登錄,那么該用戶只有查看和回復留言的權限。如果是管理員登錄,那么除了具有查看和回復權限外,還用具有管理論壇的權限。在用戶發(fā)表留言后,將顯示該用戶
3、的用戶名、性別、留言內容和留言時間等內容。如果在某個留言有回復內容,那么顯示出是誰恢復了該篇留言和回復的內容。另外還能在頁面中顯示當前的系統(tǒng)的時間和訪問權限。數(shù)據(jù)庫設計通過以上的分析:數(shù)據(jù)庫應有四個表,tb_user、td_topic、tb_reply、tb_counter。由于是個小型的論壇,選擇AEESS數(shù)據(jù)庫 程序的主要實現(xiàn)根據(jù)等級設置用戶權限,是用腳本言語javascript來顯示系統(tǒng)的當前時間,并通過<marquee>來實現(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")+" 您好!您不想說點什么嗎?如果想請點擊“簽寫留言!"); else out.println("您好!如果您想說點什么,那么請先注冊或登錄!"); %> </td> </tr> <tr align="center"
19、; valign="middle"> <td colspan="3"><marquee direction="left" scrollamount="2" scrolldelay="2"> 您好!歡送訪問“在水一方留言簿!已經有 <%=application.getAttribute("count")%> 人訪問過本網站! </marquee></td> </tr></table><
20、;% stmt.close(); con.close();%>2 用戶登陸Login_User_deal.jsp在top.jsp中設計的是當用戶單擊登錄連接的時候,彈出一個小的對話框來提供用戶的登錄功能,所以在在個頁面中需要刷新用戶登錄后的頁面,用到了腳本語言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 留言回復reply_deal.jsp回復留言的關鍵如何準確地將回復內容和留言關聯(lián)起來。本例通過獲得留言查看index1.jsp頁面中的留言回復連接所傳遞過來的參數(shù)TopicTD留言記錄ID,來完成回復功能。添加留言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>回復信息</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('回復信息成功!');window.location.href='index1.jsp'</script>"); else out.println("<script language='javascrip
29、t'>alert('回復信息失??!');window.location.href='index1.jsp'</script>"); else response.sendRedirect("index1.jsp");%></body></html>4 新用戶注冊reg_ok.jsp用戶注冊時應先判斷用戶的數(shù)據(jù)是否正確。比方:兩次輸入的密碼是否一致,對必填的字段是否為空等要加以限制。這些可以通過jsp所創(chuàng)立的靜態(tài)頁面進行判斷。這里主要是判斷新用戶注冊的用戶名是否已經被占用,如果沒有
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、;該用戶名已經存在,請重新注冊!');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當管理員登錄后,在查看index1.jsp界面中會多出一個鏈接刪除。刪除留言同回復留言一樣,關鍵就是準確地獲的所需要刪除留言記錄的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)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版寧夏糧食和物資儲備局糧食儲備庫信息化系統(tǒng)升級合同3篇
- 2025年度排水工程設計咨詢合同4篇
- 2025年度綠色環(huán)保產業(yè)民營中小企業(yè)合作開發(fā)合同4篇
- 技術保密合同
- 承包人合同范本(2篇)
- 2025年度高品質內墻抹灰裝飾工程承包合同4篇
- 2025版內蒙古生態(tài)環(huán)保產業(yè)投資合同范本4篇
- 二零二五年度農產品質量檢測與追溯服務合同4篇
- 2025版牛羊肉冷鏈物流配送服務合同4篇
- 二零二五年度回遷房買賣合同標準樣本(產權互換版)2篇
- 2025年度公務車輛私人使用管理與責任協(xié)議書3篇
- 經濟學基礎試題及答案 (二)
- 售后工程師述職報告
- 綠化養(yǎng)護難點要點分析及技術措施
- 2024年河北省高考歷史試卷(含答案解析)
- 車位款抵扣工程款合同
- 小學六年級數(shù)學奧數(shù)題100題附答案(完整版)
- 湖南高速鐵路職業(yè)技術學院單招職業(yè)技能測試參考試題庫(含答案)
- 英漢互譯單詞練習打印紙
- 2023湖北武漢華中科技大學招聘實驗技術人員24人筆試參考題庫(共500題)答案詳解版
- 一氯二氟甲烷安全技術說明書MSDS
評論
0/150
提交評論