web课程设计网络论坛系统Word文件下载.docx

上传人:b****1 文档编号:282286 上传时间:2023-04-28 格式:DOCX 页数:26 大小:485.91KB
下载 相关 举报
web课程设计网络论坛系统Word文件下载.docx_第1页
第1页 / 共26页
web课程设计网络论坛系统Word文件下载.docx_第2页
第2页 / 共26页
web课程设计网络论坛系统Word文件下载.docx_第3页
第3页 / 共26页
web课程设计网络论坛系统Word文件下载.docx_第4页
第4页 / 共26页
web课程设计网络论坛系统Word文件下载.docx_第5页
第5页 / 共26页
web课程设计网络论坛系统Word文件下载.docx_第6页
第6页 / 共26页
web课程设计网络论坛系统Word文件下载.docx_第7页
第7页 / 共26页
web课程设计网络论坛系统Word文件下载.docx_第8页
第8页 / 共26页
web课程设计网络论坛系统Word文件下载.docx_第9页
第9页 / 共26页
web课程设计网络论坛系统Word文件下载.docx_第10页
第10页 / 共26页
web课程设计网络论坛系统Word文件下载.docx_第11页
第11页 / 共26页
web课程设计网络论坛系统Word文件下载.docx_第12页
第12页 / 共26页
web课程设计网络论坛系统Word文件下载.docx_第13页
第13页 / 共26页
web课程设计网络论坛系统Word文件下载.docx_第14页
第14页 / 共26页
web课程设计网络论坛系统Word文件下载.docx_第15页
第15页 / 共26页
web课程设计网络论坛系统Word文件下载.docx_第16页
第16页 / 共26页
web课程设计网络论坛系统Word文件下载.docx_第17页
第17页 / 共26页
web课程设计网络论坛系统Word文件下载.docx_第18页
第18页 / 共26页
web课程设计网络论坛系统Word文件下载.docx_第19页
第19页 / 共26页
web课程设计网络论坛系统Word文件下载.docx_第20页
第20页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

web课程设计网络论坛系统Word文件下载.docx

《web课程设计网络论坛系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《web课程设计网络论坛系统Word文件下载.docx(26页珍藏版)》请在冰点文库上搜索。

web课程设计网络论坛系统Word文件下载.docx

搜索帖子;

删除帖子;

用户注册;

用户登录;

控制用户权限;

修改注册信息;

管理用户。

论坛一般存在两种用户,注册用户和管理员。

用户的权限是向下覆盖的,即上级权限包含下级权限,管理员的权限是上级权限。

论坛系统的用户浏览信息功能,是用户讨论问题的平台,发帖、浏览。

回帖一直贯穿用户的整个活动。

同时又有论坛系统的帖子管理是管理员在帖子浏览时进行的,只是一般用户没有权限做这些动作。

2、功能设计

从需求分析可以找到,论坛功能分为用户使用各基本功能和管理员管理的功能。

论坛系统包括以下主要功能:

(1)注册登录功能:

用户注册,登录以及修改个人注册信息;

(2)浏览功能:

用户浏览版块,查看帖子;

(3)发帖回帖功能:

用户发帖、回帖;

(4)帖子管理功能:

管理员删除帖子。

3、数据库设计

1.概要设计:

通过对系统进行的需求分析和系统功能的确定,规划出系统中使用的数据库实体对象分别为用户实体、管理员实体、发帖实体、回帖实体。

因此bbs论坛系统的E-R模型图为:

2.详细设计

(一)设计表

将E-R图转换为关系模型一般遵循如下原则:

  

(1)一个实体型转换为一个关系模式。

实体的属性就是关系的属性,实体的码就是关系的码。

  

(2)一个m:

n联系转换为一个关系模式。

与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。

  (3)一个1:

n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。

如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。

(4)一个1:

1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。

根据上述原则设计的数据表如下:

①用户实体:

用户(用户名、密码、性别、年龄、邮箱、地址、图像、电话)

  ②管理员实体:

管理员(姓名、密码)

  ③发帖实体:

发帖(发帖人、编号、主题、内容、时间、浏览次数、回帖次数)

④回帖实体:

回帖(编号、主题、内容、回帖时间)

(二)设计数据字典

数据字典:

bbs论坛系统会涉及大量的静态数据,如发帖主题、发帖内容、发帖时间、用户年龄、用户性别、用户地址等,这些数据,其数据的组织结构基本一致,现为该系统设计四个数据字典:

用户字典、管理员字典、发帖字典、回帖字典。

用户字典userna:

属性名称

属性类型

是否可以为空

约束

含义

user_name

varchar2(30)

NOTNULL

主键

用户名

password

varchar2(20)

密码

sex

number

(1)

只能为0和1

性别

age

date

NULL

年龄

userface

varchar2(6)

图像

email

邮箱

address

地址

tel

varchar2(11)

电话

管理员字典glb:

gl

varchar2(20)

NOTNULL

姓名

pw

发帖字典:

含义

art_id

number

编号

user_name

发帖人

author

主题

content

clbo

内容

issue_time

NULL

发帖时间

view_times

浏览次数

reply_times

回帖次数

回帖字典:

属性类型

约束

re_id

author

varchar(20)

blob

re_time

回帖时间

系统实现

1、论坛浏览

1、进入主页面

排版说明:

横栏为导航栏,用户可以选择想去的页面;

再下一栏为用户登录栏,方便用户登录;

左边竖栏为活跃发帖人排行,根据发帖人的发帖数来降序排序;

右边一栏为为热门帖子按浏览数降序排序,方便用户看到最好的帖子。

并且帖子被点击一次就会自动增加一次点击数。

贴吧:

此为方便用户浏览所有的帖子。

可以按照时间升降和浏览数升降排序。

效果图如下:

代码实现如下:

<

center>

formaction="

"

method="

post"

name="

paidui"

>

tablewidth="

900"

border="

0"

cellspacing="

bgcolor="

#CCCCFF"

<

tr>

tdwidth="

818"

divalign="

right"

selectname="

paixu"

optionvalue="

按时间降排序<

/option>

1"

按时间升排序<

2"

按浏览降排序<

3"

按浏览升排序<

/select>

/div>

/td>

78"

center"

inputtype="

submit"

ok"

value="

浏览"

/>

/tr>

/table>

bordercolor="

#"

#CCCCCC"

500"

标题<

175"

发帖时间<

125"

发帖人<

50"

点击数<

回帖数<

所有帖子

%

Stringpx=request.getParameter("

);

try

{

Connectioncon=DriverManager.getConnection(url,user,password);

Statementst=con.createStatement();

ResultSetrs=null;

Stringsql="

selectuser_name,author,issue_time,view_times,reply_timesfromarticles_bbs"

;

if(px==null);

elseif(px.equals("

))

sql=sql+"

orderbyissue_timedesc"

orderbyissue_time"

orderbyview_timesdesc"

orderbyview_times"

rs=st.executeQuery(sql);

inti=0;

while(rs.next())

{i++;

out.print("

td>

+"

left"

ahref="

fatie.jsp?

id="

+.URLEncoder.encode(rs.getString

(2))+"

+i+"

、"

+rs.getString

(2)+"

/a>

+rs.getString(3)+"

ahref="

test2.jsp?

+.URLEncoder.encode(rs.getString

(1))+"

+rs.getString

(1)+"

+rs.getString(4)+"

+rs.getString(5)+"

}

con.close();

}

catch(SQLExceptionel){out.print(el);

%>

/form>

浏览帖子:

该页面主要显示每个帖子的内容和回帖内容以及相应的用户信息,效果图如下:

代码实现:

首先查询该帖子输出贴主的信息,接着查询对应的回帖表循环输出所有帖子;

楼主代码:

request.setCharacterEncoding("

gb2312"

Stringun=newString(request.getParameter("

id"

).getBytes("

8859_1"

));

try

st.executeUpdate("

updatearticles_bbssetview_times=view_times+1whereauthor='

+un+"

'

Strings;

intj;

rs=st.executeQuery("

selectusersna.user_name,usersna.sex,usersna.userface,extract(yearfromsysdate)-extract(yearfromusersna.age)nl,articles_bbs.issue_time,articles_bbs.content,articles_bbs.view_times,articles_bbs.reply_timesfromusersna,articles_bbswhereusersna.user_name=articles_bbs.user_nameandarticles_bbs.author='

rs.next();

950"

height="

30"

741"

h1>

%=un%>

/h1>

回复/<

%=rs.getString(8)%>

次,浏览/<

%=rs.getString(7)%>

次<

102"

回帖"

103"

fatie.jsp"

刷新<

回帖类似楼主的代码,只是用上了while循环。

2、用户使用

1、注册

说明:

可以点击超链接选择用户喜欢的头像。

用户名、密码和电话用了JavaScript进行限制代码如下:

scriptlanguage="

javaScript"

functioncheck()

{

if(tijiao.username.value.length<

1||tijiao.username.value.length>

20)

{alert("

用户名长度必须在1位到20位之间!

returnfalse;

}

if(tijiao.tel.value.length>

11||tijiao.tel.value.length<

1)

{alert("

电话未填!

if(tijiao.pw.value.length<

6)

密码的长度应大于等于6位!

if(tijiao.pw.value!

=tijiao.pw2.value)

两次输入的密码不一致!

}}

/script>

数据按要求填写后就提交跳转到注册成功页面,该页面主要执行sql数据插入语句。

2、登录

用户登录成功效果图如下:

登录成功后可以出现用户登录状态,并且拥有发帖和回帖的权限以及退出操作。

用户状态在切换页面也不会改变。

登录代码如下:

Stringusername=request.getParameter("

user"

Stringpw=request.getParameter("

userpw"

intk=0;

selectuser_name,passwordfromusersnawhereuser_name='

+username+"

inti=rs.getRow();

if(session.getAttribute("

)!

=null)

k=k+1;

if(i==0&

&

k!

=0)

欢迎"

+session.getAttribute("

)+"

成员登录/"

fatiezi.jsp"

发帖<

/"

zhuxiao.jsp"

退出登录<

elseif(String.valueOf(pw).equals(rs.getString

(2)))

session.setAttribute("

username);

else

out.print("

你还未登录论坛/"

catch(SQLExceptionel){out.print("

3、回帖

效果图如上浏览帖子哪版,是与帖子一起的,其中用JavaScript限制了内容不为空以及用session对象来确定是否登录来判断有无回帖权利。

代码如下:

javascript"

functioncheck(form)

if(form.content.value=="

alert("

请填写内容!

returnfalse;

formmethod="

action="

onSubmit="

returncheck(this)"

style="

MARGIN-BOTTOM:

0px"

948"

#FFFFFF"

>

TR>

TD>

回帖内容:

/TD>

TDwidth="

753"

301"

textareaname="

content"

rows=20cols=80name="

/textarea>

/TR>

TDheight="

36"

colspan=2align=center>

reset"

重置"

B2"

/TABLE>

Stringcontent=request.getParameter("

if(content!

updatearticles_bbssetreply_times=reply_times+1whereauthor='

selectart_idfromarticles_bbswhereauthor='

Stringnum=rs.getString

(1);

insertintoreplies_bbs(re_id,author,repcont,re_time)values('

+num+"

'

+content+"

sysdate)"

content="

回帖成功"

请先登录"

4、发帖

同样用JavaScript限制了内容标题不为空,以及用session对象获得用户信息,存入数据库;

if(form.author.value=="

请填写主题!

form.author.focus();

form.

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

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2