web课程设计网络论坛系统

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

设计总说明.........................................................3系统分析与设计.....................................................4一、需求分析.......................................................4二、功能设计.......................................................4三、数据库设计.....................................................4系统实现...........................................................7一、论坛浏览.......................................................7二、用户使用.......................................................12三、管理员使用.....................................................17心得体会...........................................................20参考文献...........................................................20-2-设计总说明一、课程设计的意义:作为《web程序设计》课程的延伸,在学生完成了《web程序设计》课程的理论学习后,安排的课程设计,旨在提高学生web程序开发水平,培养学生网络编程的能力。二、设计内容设计一个网络论坛系统。三、设计要求系统功能:1、注册新用户:新用户填写注册表单,包括用户姓名、密码、联系方式等信息;如果输入用户名已被注册过,系统提示用户更改自己的用户名。2、用户登录:输入用户名和密码;若用户输入有误,系统将提示错误。3、用户发表帖子;成功登录的用户可以发表帖子。4、浏览帖子:成功登录的用户可以浏览其他用户发布的帖子。5、用户注册信息修改:用户可以修改自己的注册信息。6、用户退出登录:成功登录的用户可以使用该功能退出论坛系统。-3-系统分析与设计一、需求分析开发一个论坛系统,首先需要确定论坛的功能是什么,也就是用户想要的论坛所能做的工作。用户使用论坛是按照一定得流程来进行的:用户注册登录进入论坛,就某个话题展开讨论,通过发帖功能发布新的话题,通过回帖的功能回复已有的话题,通过搜索查找已有的话题;管理员要管理论坛,系统需要具有的功能管理注册的用户,管理帖子。这样的流程就决定了论坛所应具有的功能,路摊流程图如下:通过上面的分析,总结论坛的功能有以下几项:论坛版块列表;浏览帖子;发帖回帖;搜索帖子;删除帖子;用户注册;用户登录;控制用户权限;修改注册信息;管理用户。论坛一般存在两种用户,注册用户和管理员。用户的权限是向下覆盖的,即上级权限包含下级权限,管理员的权限是上级权限。论坛系统的用户浏览信息功能,是用户讨论问题的平台,发帖、浏览。回帖一直贯穿用户的整个活动。同时又有论坛系统的帖子管理是管理员在帖子浏览时进行的,只是一般用户没有权限做这些动作。二、功能设计从需求分析可以找到,论坛功能分为用户使用各基本功能和管理员管理的功能。论坛系统包括以下主要功能:(1)注册登录功能:用户注册,登录以及修改个人注册信息;(2)浏览功能:用户浏览版块,查看帖子;(3)发帖回帖功能:用户发帖、回帖;(4)帖子管理功能:管理员删除帖子。三、数据库设计1.概要设计:-4-通过对系统进行的需求分析和系统功能的确定,规划出系统中使用的数据库实体对象分别为用户实体、管理员实体、发帖实体、回帖实体。因此bbs论坛系统的E-R模型图为:2.详细设计(一)设计表将E-R图转换为关系模型一般遵循如下原则:(1)一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。(2)一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。(3)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。(4)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。-5-根据上述原则设计的数据表如下:①用户实体:用户(用户名、密码、性别、年龄、邮箱、地址、图像、电话)②管理员实体:管理员(姓名、密码)③发帖实体:发帖(发帖人、编号、主题、内容、时间、浏览次数、回帖次数)④回帖实体:回帖(编号、主题、内容、回帖时间)(二)设计数据字典数据字典:bbs论坛系统会涉及大量的静态数据,如发帖主题、发帖内容、发帖时间、用户年龄、用户性别、用户地址等,这些数据,其数据的组织结构基本一致,现为该系统设计四个数据字典:用户字典、管理员字典、发帖字典、回帖字典。用户字典userna:属性名称属性类型是否可以为空约束含义user_namevarchar2(30)NOTNULL主键用户名passwordvarchar2(20)NOTNULL密码sexnumber(1)NOTNULL只能为0和1性别agedateNULL年龄userfacevarchar2(6)NULL图像emailvarchar2(30)NULL邮箱addressvarchar2(20)NULL地址telvarchar2(11)NULL电话管理员字典glb:属性名称属性类型是否可以为空约束含义glvarchar2(20)NOTNULL主键姓名-6-pwvarchar2(20)NOTNULL密码发帖字典:属性名称属性类型是否可以为空约束含义art_idnumberNOTNULL主键编号user_namevarchar2(20)NOTNULL发帖人authorvarchar2(20)NOTNULL主题contentclboNOTNULL内容issue_timedateNULL发帖时间view_timesnumberNULL浏览次数reply_timesnumberNULL回帖次数回帖字典:属性名称属性类型是否可以为空约束含义re_idnumberNOTNULL编号authorvarchar(20)NOTNULL主题contentblobNOTNULL内容re_timedateNOTNULL回帖时间系统实现一、论坛浏览1、进入主页面-7-排版说明:横栏为导航栏,用户可以选择想去的页面;再下一栏为用户登录栏,方便用户登录;左边竖栏为活跃发帖人排行,根据发帖人的发帖数来降序排序;右边一栏为为热门帖子按浏览数降序排序,方便用户看到最好的帖子。并且帖子被点击一次就会自动增加一次点击数。贴吧:此为方便用户浏览所有的帖子。可以按照时间升降和浏览数升降排序。效果图如下:代码实现如下:centerformaction=method=postname=paiduitablewidth=900border=0cellspacing=0bgcolor=#CCCCFFtrtdwidth=818divalign=rightselectname=paixuoptionvalue=0按时间降排序/option-8-optionvalue=1按时间升排序/optionoptionvalue=2按浏览降排序/optionoptionvalue=3按浏览升排序/option/select/div/tdtdwidth=78divalign=centerinputtype=submitname=okvalue=浏览//div/td/tr/tabletablewidth=900border=1cellspacing=0bordercolor=#999999bgcolor=#CCCCCCtrtdwidth=500divalign=center标题/div/tdtdwidth=175bordercolor=#CCCCCCdivalign=center发帖时间/div/tdtdwidth=125bordercolor=#CCCCCCdivalign=center发帖人/div/tdtdwidth=50divalign=center点击数/div/tdtdwidth=50divalign=center回帖数/div/td/tr所有帖子%Stringpx=request.getParameter(paixu);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(0))sql=sql+orderbyissue_timedesc;elseif(px.equals(1))sql=sql+orderbyissue_time;elseif(px.equals(2))sql=sql+orderbyview_timesdesc;elseif(px.equals(3))sql=sql+orderbyview_times;rs=st.executeQuery(sql);inti=0;while(rs.next()){i++;-9-out.print(trtddivalign=+left+ahref=+fatie.jsp?id=+java.net.URLEncoder.encode(rs.getString(2))++i+、+rs.getString(2)+/a/div/td);out.print(td+rs.getString(3)+/td);out.print(tdahref=+test2.jsp?id=+java.net.URLEncoder.encode(rs.getString(1))++rs.getString(1)+/a/td);out.print(td+rs.getString(4)+/td);out.print(td+rs.getString(5)+/td/tr);}con.close();}catch(SQLExceptionel){out.print(el);}%/form/table浏览帖子:该页面主要显示每个帖子的内容和回帖内容以及相应的用户信息,效果图如下:-10-代码实现:首先查询该帖子输出贴主的信息,接着查询对应的回帖表循环输出所有帖子;楼主代码:request.setCharacterEncoding(gb2312);Stringun=newString(request.getParameter(id).getBytes(8859_1));try{Connectioncon=DriverManager.getConnection(url,user,password);Statementst=con.createStatement();st.executeUpdate(updatearticles_bbssetview_times=view_times+1whereauthor=

1 / 19
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功