基于JSP的留言板课程设计_第1页
基于JSP的留言板课程设计_第2页
基于JSP的留言板课程设计_第3页
基于JSP的留言板课程设计_第4页
基于JSP的留言板课程设计_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、JSP课程设计报告书 基于jsp留言板专 业:计算机信息管理班 级: 096111姓 名: 钟 春 连学 号: 09611108指导老师: 姜 俊 坡东华理工大学二零一一年六月二十日一 需求分析随着互联网的迅猛的开展,网站给我们带来不少的便利,于此同时,论坛根本是每个网站必有的功能,为用户之间的交流提供的很好的平台。我通过仔细的分析和规划,本论坛有如下功能:用户注册,登录,用户信息修改,签写留言,留言查看,回复留言和管理员的普通维护功能等。这些功能的具体描述如下:1用户注册模块:用户可已成为本论坛的会员,通过表单把用户的相关信息提交给数据库。2登录模块:根本是每个系统必备的模块,本论坛的登录的

2、模块分为两个小模块:普通用户登录,另一个是管理员登录。3)签写留言模块:这是论坛的主要功能之一,用户把自己感兴趣的话题发表到论坛上,与网上的会员进行探讨。4)回复留言模块:这也是论坛的主要功能之一,用户对别的用户发表的留言进行回复。5)普通的维护模块:这是给管理员的功能,该功能对那些危害社会风气的留言删除。6)用户信息修改模块:用户能对自己的信息进行修改。二 分析和设计页面和数据库设计网站论坛时,首先应该区别是普通用户登录还是管理员登录。如果是普通用户登录,那么该用户只有查看和回复留言的权限。如果是管理员登录,那么除了具有查看和回复权限外,还用具有管理论坛的权限。在用户发表留言后,将显示该用户

3、的用户名、性别、留言内容和留言时间等内容。如果在某个留言有回复内容,那么显示出是谁恢复了该篇留言和回复的内容。另外还能在页面中显示当前的系统的时间和访问权限。数据库设计通过以上的分析:数据库应有四个表,tb_user、td_topic、tb_reply、tb_counter。由于是个小型的论坛,选择AEESS数据库 程序的主要实现根据等级设置用户权限,是用脚本言语javascript来显示系统的当前时间,并通过<marquee>来实现滚动的显示,主要代码如下:<% 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=" 系统公告:"+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 >系统公告:</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回复留言的关键如何准确地将回复内容和留言关联起来。本例通过获得留言查看index1.jsp页面中的留言回复连接所传递过来的参数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用户注册时应先判断用户的数据是否正确。比方:两次输入的密码是否一致,对必填的字段是否为空等要加以限制。这些可以通过jsp所创立的静态页面进行判断。这里主要是判断新用户注册的用户名是否已经被占用,如果没有

30、就将用户所填写的数据添加到数据库中,如果被占用那么提示用户重新填写。主要的代码如下:<% 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页面中删除这个锁链所传递过来的参数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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论