1、基于JSP留言板课程设计 JSP在水一方留言簿设计报告一 需求分析随着互联网的迅猛的发展,网站给我们带来不少的便利,于此同时,论坛基本是每个网站必有的功能,为用户之间的交流提供的很好的平台。我通过仔细的分析和规划,本论坛有如下功能:用户注册,登录,用户信息修改,签写留言,留言查看,回复留言和管理员的普通维护功能等。 这些功能的具体描述如下:1)用户注册模块:用户可已成为本论坛的会员,通过表单把用户的相关信息提交给数据库。2)登录模块:基本是每个系统必备的模块,本论坛的登录的模块分为两个小模块:普通用户登录,另一个是管理员登录。3)签写留言模块:这是论坛的主要功能之一,用户把自己感兴趣的话题发表
2、到论坛上,与网上的会员进行探讨。4)查看留言模块:这也是论坛的主要功能之一,把用户发表的留言逐条,安顺序显示出来。5)回复留言模块:这也是论坛的主要功能之一,用户对别的用户发表的留言进行回复。6)普通的维护模块:这是给管理员的功能,该功能对那些危害社会风气的留言删除。7)用户信息修改模块:用户能对自己的信息进行修改。 二 分析和设计(页面和数据库)设计网站论坛时,首先应该区别是普通用户登录还是管理员登录。如果是普通用户登录,那么该用户只有查看和回复留言的权限。如果是管理员登录,则除了具有查看和回复权限外,还用具有管理论坛的权限。在用户发表留言后,将显示该用户的用户名、性别、留言内容和留言时间等
3、内容。如果在某个留言有回复内容,则显示出是谁恢复了该篇留言和回复的内容。另外还能在页面中显示当前的系统的时间和访问权限。 数据库设计通过以上的分析:数据库应有四个表,tb_user、td_topic、tb_reply、tb_counter。由于是个小型的论坛,选择AEESS数据库。具体各表的设计如下:1 分析得知tb_user表功能的记录用户的信息,具有如下字段:ID、UserName、PWD、Birthday、Sex、OICQ、Tel、homepage、address、postcode、Email、status。 2 分析得知tb_topic表功能是存放用户发表的留言,具有如下字段:ID、a
4、nthor、face、content、datetime。 3 分析得知tb_reply表功能是用于存放用户对每条留言所回复的信息,具有如下字段:ID、TpoicID、content、replyuser。 4 通过分析得知:tb_counter是记录网站每天的访问次数,有如下两个字段:accessTime、hit。 5.通过分析,在显示留言的是时候,要用到tb_user和tb_topic两张表,所以要设计一个具有这两张表的一个视图:首先建立关系如下: 视图如下: 页面设计1 网站的流程体如下: 2 各页面功能实现说明:1) 系统提供的服务(top.jsp) 程序的主要实现根据等级设置用户权限,是
5、用脚本言语(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 mm=date.getMinutes(); var SS=date.getSeconds(); if (MM10) MM=0+MM; if (DD10) DD=0+DD; if (HH
6、10) HH=0+HH; 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= 系统公告:+YY+年+MM+月+DD+日 +KK+ +HH+:+mm+:+SS; if(document.all) div_
7、date.innerHTML=str_date; var timer=setTimeout(clockon(),200); 签写留言 修改资料 用户注册 注销用户 用户登录 查看留言 刷新页面 注销版主登录 版主登录 系统公告: 您好!欢迎访问“在水一方”留言簿!已经有 人访问过本网站! 2) 查看留言(index1.jsp)将所有的;留言记录通过循环显示在客户端,并将某条留言的回复记录和回复者的姓名也显示出来。如果是登录用户的权限为普通用户,那么该用户的权限极为回复留言。如果是管理员,那么该用户的权限就是回复和删除留言。由于涉及到多条记录的显示,我们用了分页显示的方法出来。定义每个页面显示的
8、记录,通过ResultSet对象计算出总的记录数,通过这两个数据计算总的页数。主要代码如下: -%boolean tj=rs_user.next();String str=(String)request.getParameter(Page);if(str=null) str=0;int pagesize=5; /每页显示的数据条数rs.last();int RecordCount=rs.getRow(); /获得记录的总条数int maxPage=0;maxPage=(RecordCount%pagesize=0)?(RecordCount/pagesize):(RecordCount/pag
9、esize+1); /得到的是总页数 int Page=Integer.parseInt(str); /当前时第几页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=个人主页: width=26 height=20 img src=images/atusers.gif alt=OICQ号码: w
10、idth=14 height=16 img src=images/datetime.gif alt= width=18 height=18 留言时间: % out.println(回复 ); if(tj)out.println(删除);% 回复 当前页数:/ 1)% 第一页a href=index1.jsp?Page=上一页 % if(Page a href=index1.jsp?Page=下一页a href=index1.jsp?Page=最后一页 3) 用户登陆(Login_User_deal.jsp)在top.jsp
11、中设计的是当用户单击登录连接的时候,弹出一个小的对话框来提供用户的登录功能,所以在在个页面中需要刷新用户登录后的页面,用到了脚本语言(javascript)中的一段代码:open.location.reload().管理员登录(login_manager_deal.jsp)与此页面的代码相似,下面就不再写了。主要的代码如下: opener.location.reload(); window.close(); alert(您输入的密码不正确,请重新输入!); history.back(); alert(您输入的用户名不正确,请重新输入!);history.back();4) 留言回复(reply_deal.jsp)回复留言的关键如何准确地将回复内容和留言关联起来。本例通过获得留言查看(index1.jsp)页面中的留言回复连接所传递过来的参数TopicTD(留言记录ID),来完成回复功能。添加留言(Topic_add_deal.jsp)于此相似,在次就不在介绍。主要程序代码如下:% page contentTy
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1