基于JSP的留言板课程设计含源文件.docx

上传人:b****5 文档编号:7468328 上传时间:2023-01-24 格式:DOCX 页数:20 大小:55.81KB
下载 相关 举报
基于JSP的留言板课程设计含源文件.docx_第1页
第1页 / 共20页
基于JSP的留言板课程设计含源文件.docx_第2页
第2页 / 共20页
基于JSP的留言板课程设计含源文件.docx_第3页
第3页 / 共20页
基于JSP的留言板课程设计含源文件.docx_第4页
第4页 / 共20页
基于JSP的留言板课程设计含源文件.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

基于JSP的留言板课程设计含源文件.docx

《基于JSP的留言板课程设计含源文件.docx》由会员分享,可在线阅读,更多相关《基于JSP的留言板课程设计含源文件.docx(20页珍藏版)》请在冰豆网上搜索。

基于JSP的留言板课程设计含源文件.docx

基于JSP的留言板课程设计含源文件

JSP在水一方留言簿设计报告

需求分析

随着互联网的迅猛的发展,网站给我们带来不少的便利,于此同时,论坛基本是每个网站必有的功能,为用户之间的交流提供的很好的平台。

我通过仔细的分析和规划,本论坛有

如下功能:

用户注册,登录,用户信息修改,签写留言,留言查看,回复留言和管理员的普通维护功能等。

这些功能的具体描述如下:

1)用户注册模块:

用户可已成为本论坛的会员,通过表单把用户的相关信息提交给数据库。

2)登录模块:

基本是每个系统必备的模块,本论坛的登录的模块分为两个小模块:

普通用户登录,另一个是管理员登录。

3)签写留言模块:

这是论坛的主要功能之一,用户把自己感兴趣的话题发表到论坛上,与网上的会员进行探讨。

4)查看留言模块:

这也是论坛的主要功能之一,把用户发表的留言逐条,安顺序显示出来。

5)回复留言模块:

这也是论坛的主要功能之一,用户对别的用户发表的留言进行回复。

6)普通的维护模块:

这是给管理员的功能,该功能对那些危害社会风气的留言删除。

7)用户信息修改模块:

用户能对自己的信息进行修改。

二分析和设计(页面和数据库)

设计网站论坛时,首先应该区别是普通用户登录还是管理员登录。

如果是普通用户登录,那么该用户只有查看和回复留言的权限。

如果是管理员登录,则除了具有查看和回复权限外,还用具有管理论坛的权限。

在用户发表留言后,将显示该用户的用户名、性别、留言内容和留言时间等内容。

如果

在某个留言有回复内容,则显示出是谁恢复了该篇留言和回复的内容。

另外还能在页面中显示当前的系统的时间和访问权限。

数据库设计

通过以上的分析:

数据库应有四个表,tb_user、td_topic、tb_reply、tb_counter。

由于是

个小型的论坛,选择AEESS数据库。

具体各表的设计如下:

ID、USerName、PWD、

1分析得知tb_USer表功能的记录用户的信息,具有如下字段:

Birthday、Sex、OlCQ、

Tel、homepageaddress、PoStCode、Email、StatUSO

2分析得知tb_topic表功能是存放用户发表的留言,具有如下字段:

ID、anthor、face、content、datetimeo

3分析得知tb_reply表功能是用于存放用户对每条留言所回复的信息,具有如下字段:

ID、TPOiCID、content、replyuser。

4通过分析得知:

tb_counter是记录网站每天的访问次数,有如下两个字段:

accessTimehit。

5•通过分析,在显示留言的是时候,要用到tb_USer和tb_topic两张表,所以要设计一个

具有这两张表的一个视图:

首先建立关系如下:

视图如下:

页面设计

1网站的流程体如下:

2各页面功能实现说明:

1)系统提供的服务(top.jsp)

程序的主要实现根据等级设置用户权限,是用脚本言语(javascript)来显示系统的当前

时间,并通过VmarqUee>来实现滚动的显示,主要代码如下:

<%@PageContentType="text∕html;CharSet=gb2312"Ianguage="java"import="java.sql.*"errorPage=""%>

<%@includefile="connDB.jsp"%>

includepage="coUnter.jsp"/>

<%

ReSUItSetrs_USer=Stmt.executeQuery("select*fromtb_USerWhere

USername='"+session.getAttribute("username")+"'andstatus='版主'");

booleaneof=rs_user.next();

%>

functionclockon(){

Vardate=newDate();

VarYY=date.getYear();

VarMM=date.getMonth()+1;

VarDD=date.getDate();

VarKK=date.getDay();

VarHH=date.getHours();

Varmm=date.getMinutes();

VarSS=date.getSecOnds();

if(MM<10)MM="0"+MM;

if(DD<10)DD="O"+DD;

if(HH<10)HH="0"+HH;

if(mm<10)mm="0"+mm;

if(SS<10)SS="O"+SS;

SWitCh(KK){

CaSe1:

KK="星期一";break;

CaSe2:

KK="星期二";break;

CaSe3:

KK="星期三";break;

CaSe4:

KK="星期四";break;

CaSe5:

KK="星期五";

break;

CaSe6:

KK="星期六";

break;

CaSe0:

KK="星期日";

break;

}

VarStr_date="系统公告:

"+YY+"年"+MM+"月"+DD+"日"+KK+"

"+HH+":

"+mm+":

"+SS;

if(document.all){

div_date.innerHTML=str_date;

}

Vartimer=setTimeout("clockon()",200);

}

<∕script>

cellspacing="0">

Width="500"height="124"><∕td>

cellpadding="0">

<∕table><∕td>

<∕tr>

<∕table>

VtableWidth="777"height="21"border="。

"align="center"cellpadding="0"

cellspacing="0"backgroUnd="images∕revigate.GIF">

<%if(session.getAttribute("username")!

=null){%>

签写留言<∕a><∕td>

修改资料<∕a><∕td>

<%}else{%>

用户注册<∕a><∕td>

<%}%>

<%if(session.getAttribute("username")!

=null){%>

注销用户<∕a>

<%}else{%>

用户登录<∕a>

<%}%>

<∕td>

查看留言<∕a><∕td>

刷新页面<∕a><∕td>

<%if(eof){%>

注销版主登录<∕a>

<%}else{

%>版主登录

<∕a><%}%><∕td>

<∕tr>

<∕table>

border="0"align="center"cellpadding="0"

CellSPaCing="0">

<∕td>

<∕tr>

height="16"><∕td>

系统公告:

<∕div><∕td>

<%if(session.getAttribute("username")!

=null){

out.println("["+session.getAttribute("username")+"]您好!

您不想说点什么吗?

果想请点击签写留言”");

}else{

out.println("您好!

如果您想说点什么,那么请先注册或登录!

");

}%>

您好!

欢迎访问“在水一方”留言簿!

已经有

[<%=application.getAttribute("count")%>]人访问过本网站!

<∕marquee><∕td>

<∕table>

<%

stmt.close();

con.close();

%>

2)查看留言(index1.jsp)

将所有的;留言记录通过循环显示在客户端,并将某条留言的回复记录和回复者的姓名

<%@PageContentType="text∕html;CharSet=gb2312"Ianguage="java"

import="java.sql.*"errorPage=""%>

includepage="coUnter.jsp"/>

<%

Statementstmt2

=con.createStatement(ResultSet.TYPE_SCROLL_lNSENSlTlVE,ResultSet.CONCUR_READ_ONLY);

Statementstmt3

=con.createStatement(ResultSet.TYPE_SCROLL_lNSENSlTlVE,ResultSet.CONCUR_READ_ONLY);

ReSUItSetrs=stmt.executeQuery("select*fromv_board");

ReSUItSetrs_reply=nuII;

ReSUItSetrs_USer=Stmt2.executeQuery("seIect*fromtb_USerWhere

USername='"+session.getAttribUte("Username")+"'andStatUS='版主'");

SyStem.oUt.print("查询成功!

");

//ResUltSetrs_topic=stmt.execUteQUery("select*fromtb_topic");

%>

<%

booleantj=rs_User.next();

StringStr=(String)reqUest.getParameter("Page");

if(str==nuII){

str="0";

}

intPageSiZe=5;//每页显示的数据条数

rs.last();

intReCordCoUnt=rs.getRow();//获得记录的总条数

intmaxPage=0;

maxPage=(RecordCoUnt%pagesize==0)?

(ReCOrdCOUnt/pagesize):

(ReCOrdCOUnt/pagesize+1)

;〃得到的是总页数

intPage=Integer.parselnt(str);//当前时第几页

if(Page<1){

Page=1;

}else{

if(((Page-1)*pagesize+1)>RecordCount){

Page=maxPage;

}

}

rs.absolute((Page-1)*pagesize+1);

for(inti=1;i<=pagesize;i++){

inta=rs.getInt("ID");

%>

align="center"><%=rs.getString("UserName")%>(<%=rs.getString("status")%>)

<%=rs.getString("Sex")%>生

表情:

<%=rs.getString("face")%>

SiZe="100%"Width="1px"color="#FFCCCC">

10pt">

src="images∕email.GIF"alt="Email:

<%=rs.getString("Email")%>"Width="16"height="16">

<%=rs.getString("homepage")%>"Width="26"height="20">

<%=rs.getString("OICQ")%>"Width="14"height="16">

alt="<%=rs.getString("datetime")%>"Width="18"height="18"> 留言时间:

<%=rs.getString("datetime")%><∕td>

<%out.println("

TOPiCID="+a+"'>回复

 ");

if(tj){out.println("

TOPiCID="+a+"'>删除

");}%>

10pt"> 

10pt">

color="#FFCCCC"SiZe="1">

StyIe="padding-lefL10pt">

<%=rs.getString("cOntent")%><∕pre><∕td>

<∕td>

<∕tr>

获取完整资料Q1225467431指导毕业设计课程设计代开发程序,代写文档

<%

rs_reply=stmt3.executeQuery("select*fromtb_replyWhereTOPiCID="+a);

While(rs_reply.next()){

%>

height="39"

align="center"

valign="top"><%=rs_reply.getString("replyuser")%>回复<∕td>

valign="top">

SiZe="20%"Width="1px"

color="#FFCCCC"><∕td>

colspan="3"

valign="top"

Style="padding-left:

10pt"x%=rs_reply.getString("content")%>

<∕td>

1Opt"> 

<%}%>


<%

try{

if(!

rs.next()){break;}

}catch(ExceptiOne){}

}

%>

当前页数:

[<%=Page%>∕<%=maxPage%>] 

<%if(Page>1){%>

Page=1">第一页<∕a>

href="index1.jsp?

Page=<%=Page-1%>">上一页<∕a>

<%

}

if(Page

%>

Page=<%=Page+1%>">下一页<∕a>

href="index1.jsp?

Page=<%=maxPage%>">最后一页 

<%}%>

3)用户登陆(Login_User_deal.jsp)

在top.jsp中设计的是当用户单击登录连接的时候,弹出一个小的对话框来提供用户的

登录功能,所以在在个页面中需要刷新用户登录后的页面,用到了脚本语言(javascript)中

的一段代码:

open.location.reload().管理员登录(login_manager_deal.jsp)与此页面的代码相似,下面就不再写了。

主要的代码如下:

<%@PageContentType="text/html;CharSet=gb2312"Ianguage="java"import="java.sql.*"errorPage=""%>

includepage="coUnter.jsp"/>

<%

request.setCharacterEncoding("GB2312");

StringUSername=request.getParameter("username");

StringPWD=request.getParameter("PWD");

if(username!

=""){%>

<%

ReSUItSetrs=stmt.executeQuery("select*fromtb_USerWhere

USerName='"+username+"'andstatus='用户'");

if(rs.next()){

StringrsPWD=rs.getString("PWD");

if(PWD.equals(rsPWD)){%>

opener」oCation.reload();

Window.close();

<%

SeSSion.SetAttribUte("username",username);

}else{%>

alert("您输入的密码不正确,请重新输入!

");

history.back();

<∕script>

<%}

}else{%>

alert("您输入的用户名不正确,请重新输入!

");

history.back();

<%}

}%>

4)留言回复(reply_deal.jsp)

回复留言的关键如何准确地将回复内容和留言关联起来。

本例通过获得留言查看

(index1.jsp)页面中的留言回复连接所传递过来的参数TOPiCTD(留言记录ID),来完成回

复功能。

添加留言CToPiC_add_dej)于此相似J在次就不在介绍。

主要程序代码如下:

代开发程序,代写文档

<%@PageContentType="text/html;CharSet=gb2312"Ianguage="java"import="java.sql.*"errorPage=""%>

<%@includefile="connDB.jsp"%>

展开阅读全文
相关搜索

当前位置:首页 > 高等教育 > 理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1