课程设计基于JSP的留言板课程设计.doc

上传人:文库蛋蛋多 文档编号:2387623 上传时间:2023-02-17 格式:DOC 页数:21 大小:58.50KB
返回 下载 相关 举报
课程设计基于JSP的留言板课程设计.doc_第1页
第1页 / 共21页
课程设计基于JSP的留言板课程设计.doc_第2页
第2页 / 共21页
课程设计基于JSP的留言板课程设计.doc_第3页
第3页 / 共21页
课程设计基于JSP的留言板课程设计.doc_第4页
第4页 / 共21页
课程设计基于JSP的留言板课程设计.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《课程设计基于JSP的留言板课程设计.doc》由会员分享,可在线阅读,更多相关《课程设计基于JSP的留言板课程设计.doc(21页珍藏版)》请在三一办公上搜索。

1、 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、anthor、face、c

4、ontent、datetime。 3 分析得知tb_reply表功能是用于存放用户对每条留言所回复的信息,具有如下字段:ID、TpoicID、content、replyuser。 4 通过分析得知:tb_counter是记录网站每天的访问次数,有如下两个字段:accessTime、hit。 5.通过分析,在显示留言的是时候,要用到tb_user和tb_topic两张表,所以要设计一个具有这两张表的一个视图:首先建立关系如下: 视图如下: 页面设计1 网站的流程体如下: 2 各页面功能实现说明:1) 系统提供的服务(top.jsp) 程序的主要实现根据等级设置用户权限,是用脚本言语(javasc

5、ript)来显示系统的当前时间,并通过来实现滚动的显示,主要代码如下: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;

6、 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.innerHT

7、ML=str_date; var timer=setTimeout(clockon(),200); 签写留言 修改资料 用户注册 注销用户 用户登录 查看留言 刷新页面 注销版主登录 版主登录 系统公告: 您好!欢迎访问“在水一方”留言簿!已经有 人访问过本网站! 2) 查看留言(index1.jsp)将所有的;留言记录通过循环显示在客户端,并将某条留言的回复记录和回复者的姓名也显示出来。如果是登录用户的权限为普通用户,那么该用户的权限极为回复留言。如果是管理员,那么该用户的权限就是回复和删除留言。由于涉及到多条记录的显示,我们用了分页显示的方法出来。定义每个页面显示的记录,通过ResultS

8、et对象计算出总的记录数,通过这两个数据计算总的页数。主要代码如下: -%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); /得

9、到的是总页数 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 heig

10、ht=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)回复

12、留言的关键如何准确地将回复内容和留言关联起来。本例通过获得留言查看(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.prin

13、tln(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 ) Str

14、ing 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=ge

15、tStr(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=

16、+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所创建的静态页面进行判断。这里

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号