基于JSP的留言板课程设计(含源文件)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
var KK=date.getDay();
var HH=date.getHours();
var 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;
System.out.print("查询成功!");
<%@ include file="connDB.jsp" %>
<jsp:include page="counter.jsp" />
<%
ResultSet rs_user=stmt.executeQuery("select * from tb_user where username='"+session.getAttribute("username")+"'and status='版主'");
您好! 欢迎访问“在水一方”留言簿!!!已经有[ <%=application.getAttribute("count")%> ]人访问过本网站!
</marquee></td>
</tr>
</table>
<%
stmt.close();
con.close();
%>
2)查看留言(index1.jsp)
将所有的;留言记录通过循环显示在客户端,并将某条留言的回复记录和回复者的姓名也显示出来。如果是登录用户的权限为普通用户,那么该用户的权限极为回复留言。如果是管理员,那么该用户的权限就是回复和删除留言。由于涉及到多条记录的显示,我们用了分页显示的方法出来。定义每个页面显示的记录,通过ResultSet对象计算出总的记录数,通过这两个数据计算总的页数。主要代码如下:
<tr>
<td height="5"></td>
</tr>
</table></td>
</tr>
</table>
<table width="777" height="21" border="0" align="center" cellpadding="0" cellspacing="0" background="images/revigate.GIF">
</tr>
<tr align="center" valign="middle">
<td width="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="104">
<%if(eof){%>
<a href="Logout_User.jsp">注销版主登录</a>
<%}else{
%><a href="#" Login_manager.jsp','','width=300,height=200');">版主登录</a><%}%></td>
}else{
out.println("您好!如果您想说点什么,那么请先注册或登录!");
}%>
</td>
</tr>
<tr align="center" valign="middle">
<td colspan="3"><marquee direction="left" scrollamount="2" scrolldelay="2">
<tr align="center" valign="middle">
<%if(session.getAttribute("username")!=null){%>
<td width="104"><a href="Topic_add.jsp">签写留言</a></td>
<td width="101"><a href="modify.jsp">修改资料</a></td>
}
var timer=setTimeout("clockon()",200);
}
</script>
<table width="777" height="124" border="0" align="center" cellpadding="0" cellspacing="0" >
<tห้องสมุดไป่ตู้>
<td align="center" valign="top" height="5" bgcolor="#FFCCCC"></td>
<%}else{%>
<a href="#" Login_User.jsp','','width=300,height=200');">用户登录</a>
<%}%>
</td>
<td width="104"><a href="index1.jsp">查看留言</a></td>
<td width="104"><a href="#" >刷新页面</a></td>
<td width="469" align="right" >
<%if(session.getAttribute("username")!=null){
out.println("[ "+session.getAttribute("username")+" ]您好!您不想说点什么吗?如果想请点击“签写留言”!");
1分析得知tb_user表功能的记录用户的信息,具有如下字段:ID、UserName、PWD、Birthday、Sex、OICQ、
Tel、homepage、address、postcode、Email、status。
2分析得知tb_topic表功能是存放用户发表的留言,具有如下字段:ID、anthor、face、content、datetime。
1)用户注册模块:用户可已成为本论坛的会员,通过表单把用户的相关信息提交给数据库。
2)登录模块:基本是每个系统必备的模块,本论坛的登录的模块分为两个小模块:普通用户登录,另一个是管理员登录。
3)签写留言模块:这是论坛的主要功能之一,用户把自己感兴趣的话题发表到论坛上,与网上的会员进行探讨。
4)查看留言模块:这也是论坛的主要功能之一,把用户发表的留言逐条,安顺序显示出来。
5)回复留言模块:这也是论坛的主要功能之一,用户对别的用户发表的留言进行回复。
6)普通的维护模块:这是给管理员的功能,该功能对那些危害社会风气的留言删除。
7)用户信息修改模块:用户能对自己的信息进行修改。
二分析和设计(页面和数据库)
设计网站论坛时,首先应该区别是普通用户登录还是管理员登录。如果是普通用户登录,那么该用户只有查看和回复留言的权限。如果是管理员登录,则除了具有查看和回复权限外,还用具有管理论坛的权限。
JSP在水一方留言簿设计报告
一需求分析
随着互联网的迅猛的发展,网站给我们带来不少的便利,于此同时,论坛基本是每个网站必有的功能,为用户之间的交流提供的很好的平台。我通过仔细的分析和规划,本论坛有如下功能:用户注册,登录,用户信息修改,签写留言,留言查看,回复留言和管理员的普通维护功能等。
这些功能的具体描述如下:
<%}else{%>
<td width="104"><a href="reg.jsp">用户注册</a></td>
<%}%>
<td width="104">
<%if(session.getAttribute("username")!=null){%>
<a href="Logout_User.jsp">注销用户</a>
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;
在用户发表留言后,将显示该用户的用户名、性别、留言内容和留言时间等内容。如果在某个留言有回复内容,则显示出是谁恢复了该篇留言和回复的内容。
另外还能在页面中显示当前的系统的时间和访问权限。
数据库设计
通过以上的分析:数据库应有四个表,tb_user、td_topic、tb_reply、tb_counter。由于是个小型的论坛,选择AEESS数据库。具体各表的设计如下:
3分析得知tb_reply表功能是用于存放用户对每条留言所回复的信息,具有如下字段:ID、TpoicID、content、replyuser。
4通过分析得知:tb_counter是记录网站每天的访问次数,有如下两个字段:accessTime、hit。
5.通过分析,在显示留言的是时候,要用到tb_user和tb_topic两张表,所以要设计一个具有这两张表的一个视图:首先建立关系如下:
</tr>
</table>
<table width="777" height="47" border="0" align="center" cellpadding="0"cellspacing="0">
<tr align="center" valign="middle">
<td height="2" colspan="6"></td>
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();
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<jsp:include page="counter.jsp" />
<%
Statement stmt2 =con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
视图如下:
页面设计
1网站的流程体如下:
2各页面功能实现说明:
1)系统提供的服务(top.jsp)
程序的主要实现根据等级设置用户权限,是用脚本言语(javascript)来显示系统的当前时间,并通过<marquee>来实现滚动的显示,主要代码如下:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
</tr>
<tr>
<td width="790" align="center" valign="top"> <img src="images/banner.gif" width="500" height="124"></td>
</tr>
<tr>
<td align="center" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0" >
ResultSet rs_reply=null;
ResultSet rs_user=stmt2.executeQuery("select * from tb_user where username='"+session.getAttribute("username")+"'and status='版主'");
if (mm<10) mm="0"+mm;
if (SS<10) SS="0"+SS;
switch (KK){
case 1:
KK="星期一";
break;
case 2:
KK="星期二";
break;
case 3:
KK="星期三";
break;
case 4:
KK="星期四";
break;
case 5:
KK="星期五";
Statement stmt3 =con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rs=stmt.executeQuery("select * from v_board");
var HH=date.getHours();
var 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;
System.out.print("查询成功!");
<%@ include file="connDB.jsp" %>
<jsp:include page="counter.jsp" />
<%
ResultSet rs_user=stmt.executeQuery("select * from tb_user where username='"+session.getAttribute("username")+"'and status='版主'");
您好! 欢迎访问“在水一方”留言簿!!!已经有[ <%=application.getAttribute("count")%> ]人访问过本网站!
</marquee></td>
</tr>
</table>
<%
stmt.close();
con.close();
%>
2)查看留言(index1.jsp)
将所有的;留言记录通过循环显示在客户端,并将某条留言的回复记录和回复者的姓名也显示出来。如果是登录用户的权限为普通用户,那么该用户的权限极为回复留言。如果是管理员,那么该用户的权限就是回复和删除留言。由于涉及到多条记录的显示,我们用了分页显示的方法出来。定义每个页面显示的记录,通过ResultSet对象计算出总的记录数,通过这两个数据计算总的页数。主要代码如下:
<tr>
<td height="5"></td>
</tr>
</table></td>
</tr>
</table>
<table width="777" height="21" border="0" align="center" cellpadding="0" cellspacing="0" background="images/revigate.GIF">
</tr>
<tr align="center" valign="middle">
<td width="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="104">
<%if(eof){%>
<a href="Logout_User.jsp">注销版主登录</a>
<%}else{
%><a href="#" Login_manager.jsp','','width=300,height=200');">版主登录</a><%}%></td>
}else{
out.println("您好!如果您想说点什么,那么请先注册或登录!");
}%>
</td>
</tr>
<tr align="center" valign="middle">
<td colspan="3"><marquee direction="left" scrollamount="2" scrolldelay="2">
<tr align="center" valign="middle">
<%if(session.getAttribute("username")!=null){%>
<td width="104"><a href="Topic_add.jsp">签写留言</a></td>
<td width="101"><a href="modify.jsp">修改资料</a></td>
}
var timer=setTimeout("clockon()",200);
}
</script>
<table width="777" height="124" border="0" align="center" cellpadding="0" cellspacing="0" >
<tห้องสมุดไป่ตู้>
<td align="center" valign="top" height="5" bgcolor="#FFCCCC"></td>
<%}else{%>
<a href="#" Login_User.jsp','','width=300,height=200');">用户登录</a>
<%}%>
</td>
<td width="104"><a href="index1.jsp">查看留言</a></td>
<td width="104"><a href="#" >刷新页面</a></td>
<td width="469" align="right" >
<%if(session.getAttribute("username")!=null){
out.println("[ "+session.getAttribute("username")+" ]您好!您不想说点什么吗?如果想请点击“签写留言”!");
1分析得知tb_user表功能的记录用户的信息,具有如下字段:ID、UserName、PWD、Birthday、Sex、OICQ、
Tel、homepage、address、postcode、Email、status。
2分析得知tb_topic表功能是存放用户发表的留言,具有如下字段:ID、anthor、face、content、datetime。
1)用户注册模块:用户可已成为本论坛的会员,通过表单把用户的相关信息提交给数据库。
2)登录模块:基本是每个系统必备的模块,本论坛的登录的模块分为两个小模块:普通用户登录,另一个是管理员登录。
3)签写留言模块:这是论坛的主要功能之一,用户把自己感兴趣的话题发表到论坛上,与网上的会员进行探讨。
4)查看留言模块:这也是论坛的主要功能之一,把用户发表的留言逐条,安顺序显示出来。
5)回复留言模块:这也是论坛的主要功能之一,用户对别的用户发表的留言进行回复。
6)普通的维护模块:这是给管理员的功能,该功能对那些危害社会风气的留言删除。
7)用户信息修改模块:用户能对自己的信息进行修改。
二分析和设计(页面和数据库)
设计网站论坛时,首先应该区别是普通用户登录还是管理员登录。如果是普通用户登录,那么该用户只有查看和回复留言的权限。如果是管理员登录,则除了具有查看和回复权限外,还用具有管理论坛的权限。
JSP在水一方留言簿设计报告
一需求分析
随着互联网的迅猛的发展,网站给我们带来不少的便利,于此同时,论坛基本是每个网站必有的功能,为用户之间的交流提供的很好的平台。我通过仔细的分析和规划,本论坛有如下功能:用户注册,登录,用户信息修改,签写留言,留言查看,回复留言和管理员的普通维护功能等。
这些功能的具体描述如下:
<%}else{%>
<td width="104"><a href="reg.jsp">用户注册</a></td>
<%}%>
<td width="104">
<%if(session.getAttribute("username")!=null){%>
<a href="Logout_User.jsp">注销用户</a>
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;
在用户发表留言后,将显示该用户的用户名、性别、留言内容和留言时间等内容。如果在某个留言有回复内容,则显示出是谁恢复了该篇留言和回复的内容。
另外还能在页面中显示当前的系统的时间和访问权限。
数据库设计
通过以上的分析:数据库应有四个表,tb_user、td_topic、tb_reply、tb_counter。由于是个小型的论坛,选择AEESS数据库。具体各表的设计如下:
3分析得知tb_reply表功能是用于存放用户对每条留言所回复的信息,具有如下字段:ID、TpoicID、content、replyuser。
4通过分析得知:tb_counter是记录网站每天的访问次数,有如下两个字段:accessTime、hit。
5.通过分析,在显示留言的是时候,要用到tb_user和tb_topic两张表,所以要设计一个具有这两张表的一个视图:首先建立关系如下:
</tr>
</table>
<table width="777" height="47" border="0" align="center" cellpadding="0"cellspacing="0">
<tr align="center" valign="middle">
<td height="2" colspan="6"></td>
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();
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<jsp:include page="counter.jsp" />
<%
Statement stmt2 =con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
视图如下:
页面设计
1网站的流程体如下:
2各页面功能实现说明:
1)系统提供的服务(top.jsp)
程序的主要实现根据等级设置用户权限,是用脚本言语(javascript)来显示系统的当前时间,并通过<marquee>来实现滚动的显示,主要代码如下:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
</tr>
<tr>
<td width="790" align="center" valign="top"> <img src="images/banner.gif" width="500" height="124"></td>
</tr>
<tr>
<td align="center" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0" >
ResultSet rs_reply=null;
ResultSet rs_user=stmt2.executeQuery("select * from tb_user where username='"+session.getAttribute("username")+"'and status='版主'");
if (mm<10) mm="0"+mm;
if (SS<10) SS="0"+SS;
switch (KK){
case 1:
KK="星期一";
break;
case 2:
KK="星期二";
break;
case 3:
KK="星期三";
break;
case 4:
KK="星期四";
break;
case 5:
KK="星期五";
Statement stmt3 =con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rs=stmt.executeQuery("select * from v_board");