logo资料库

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

第1页 / 共21页
第2页 / 共21页
第3页 / 共21页
第4页 / 共21页
第5页 / 共21页
第6页 / 共21页
第7页 / 共21页
第8页 / 共21页
资料共21页,剩余部分请下载后查看
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)来显示系统的当前 时间,并通过来实现滚动的显示,主要代码如下: <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %> <%@ include file="connDB.jsp" %> <% ResultSet rs_user=stmt.executeQuery("select * from tb_user where username='"+session.getAttribute("username")+"'and status='版主'"); boolean eof=rs_user.next(); %>
<%if(session.getAttribute("username")!=null){%> <%}else{%> <%}%>
签写留言 修改资料用户注册 <%if(session.getAttribute("username")!=null){%> 注销用户 <%}else{%> 用户登录 <%}%> 查看留言 刷新页面 <%if(eof){%> 注销版主登录 <%}else{ %> 版 主 登 录 <%}%>
cellspacing="0">
系统公告:
<%if(session.getAttribute("username")!=null){ out.println("[ "+session.getAttribute("username")+" ]您好!您不想说点什么吗?如 果想请点击“签写留言”!"); }else{ out.println("您好!如果您想说点什么,那么请先注册或登录!"); }%>
您 好 ! 欢 迎 访 问 “ 在 水 一 方 ” 留 言 簿 ! ! ! 已 经 有 [ <%=application.getAttribute("count")%> ]人访问过本网站!
<% stmt.close(); con.close(); %> 2) 查看留言(index1.jsp) 将所有的;留言记录通过循环显示在客户端,并将某条留言的回复记录和回复者的姓名
也显示出来。如果是登录用户的权限为普通用户,那么该用户的权限极为回复留言。如果是 管理员,那么该用户的权限就是回复和删除留言。由于涉及到多条记录的显示,我们用了分 页显示的方法出来。定义每个页面显示的记录,通过 ResultSet 对象计算出总的记录数,通 过这两个数据计算总的页数。主要代码如下: <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %> <% Statement stmt2 =con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_O NLY); Statement stmt3 =con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_O NLY); ResultSet rs=stmt.executeQuery("select * from v_board"); ResultSet rs_reply=null; ResultSet rs_user=stmt2.executeQuery("select * from tb_user where username='"+session.getAttribute("username")+"'and status='版主'"); System.out.print("查询成功!"); //ResultSet rs_topic=stmt.executeQuery("select * from tb_topic"); %> <% ------------------------------------------ boolean tj=rs_user.next(); String str=(String)request.getParameter("Page"); if(str==null){ str="0"; } int pagesize=5; //每页显示的数据条数 rs.last();
分享到:
收藏