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

下载本文档

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

文档简介

JSP在水一方留言簿设计报告一 需求分析随着互联网的迅猛的发展,网站给我们带来不少的便利,于此同时,论坛基本是每个网站必有的功能,为用户之间的交流提供的很好的平台。我通过仔细的分析和规划,本论坛有如下功能:用户注册,登录,用户信息修改,签写留言,留言查看,回复留言和管理员的普通维护功能等。 这些功能的具体描述如下:1)用户注册模块:用户可已成为本论坛的会员,通过表单把用户的相关信息提交给数据库。2)登录模块:基本是每个系统必备的模块,本论坛的登录的模块分为两个小模块:普通用户登录,另一个是管理员登录。3)签写留言模块:这是论坛的主要功能之一,用户把自己感兴趣的话题发表到论坛上,与网上的会员进行探讨。4)查看留言模块:这也是论坛的主要功能之一,把用户发表的留言逐条,安顺序显示出来。5)回复留言模块:这也是论坛的主要功能之一,用户对别的用户发表的留言进行回复。6)普通的维护模块:这是给管理员的功能,该功能对那些危害社会风气的留言删除。7)用户信息修改模块:用户能对自己的信息进行修改。 二 分析和设计(页面和数据库)设计网站论坛时,首先应该区别是普通用户登录还是管理员登录。如果是普通用户登录,那么该用户只有查看和回复留言的权限。如果是管理员登录,则除了具有查看和回复权限外,还用具有管理论坛的权限。在用户发表留言后,将显示该用户的用户名、性别、留言内容和留言时间等内容。如果在某个留言有回复内容,则显示出是谁恢复了该篇留言和回复的内容。另外还能在页面中显示当前的系统的时间和访问权限。 数据库设计通过以上的分析:数据库应有四个表,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、anthor、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) 程序的主要实现根据等级设置用户权限,是用脚本言语(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 (HH10) 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_date.innerHTML=str_date; var timer=setTimeout(clockon(),200); 签写留言 修改资料 用户注册 注销用户 用户登录 查看留言 刷新页面 注销版主登录 版主登录 系统公告: 您好!欢迎访问“在水一方”留言簿!已经有 人访问过本网站! 2) 查看留言(index1.jsp)将所有的;留言记录通过循环显示在客户端,并将某条留言的回复记录和回复者的姓名也显示出来。如果是登录用户的权限为普通用户,那么该用户的权限极为回复留言。如果是管理员,那么该用户的权限就是回复和删除留言。由于涉及到多条记录的显示,我们用了分页显示的方法出来。定义每个页面显示的记录,通过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/pagesize+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号码: width=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中设计的是当用户单击登录连接的时候,弹出一个小的对话框来提供用户的登录功能,所以在在个页面中需要刷新用户登录后的页面,用到了脚本语言(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)于此相似,在次就不在介绍。主要程序代码如下:回复信息 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.println(alert(回复信息成功!);window.location.href=index1.jsp;); else out.println(alert(回复信息失败!);window.location.href=index1.jsp;); else response.sendRedirect(index1.jsp);%5) 修改资料(modify_deal.jsp)用户登录后,如果想修改除了用户名以外的资料时,单击相应的连接进入修改资料页面进行操作。主要代码如下: !DOCTYPE HTML PUBLIC -/W3C/DTD HTML 4.01 Transitional/EN 0 ) String 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=getStr(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=+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) 新用户注册(reg_ok.jsp)用户注册时应先判断用户的数据是否正确。比如:两次输入的密码是否一致,对必填的字段是否为空等要加以限制。这些可以通过jsp所创建的静态页面进行判断。这里主要是判断新用户注册的用户名是否已经被占用,如果没有就将用户所填写的数据添加到数据库中,如果被占用则提示用户重新填写。主要的代码如下:% request.setCharacterEncoding(GB2312); String username=request.getParameter(username); String PWD=request.getParameter(PWD1); String birthday=request.getParameter(birthday); 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 postcode=request.getParameter(postcode); String Email=request.getParameter(Email); ResultSet rs=stmt.executeQuery(select * from tb_user where UserName=+username+); if(rs.next() out.println(alert(该用户名已经存在,请重新注册!);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+,+tel+,+homepage+,+address+,+postcode+,+Email+,用户); 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=reg.jsp;); %7) 删除留言(Del.jsp)当管理员登录后,在查看(index1.jsp)界面中会多出一个链接删除。删除留言同回复留言一样,关键就是准确地获的所需要删除留言记录的ID。这里同样使用的是index.jsp页面中删除这个锁链所传递过来的参数(TopicID),主要的代码如下:- % var con; con=confirm(您真的要删除该主题吗?); 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) 这段代码比较简单,只要将Session对象中存储的值清空即可。主要的代码如下: function my

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论