文档库 最新最全的文档下载
当前位置:文档库 › 美食论坛系统设计毕业论文设计

美食论坛系统设计毕业论文设计

引言

随着网络的发展,论坛已经成为人们日常进行交流的一个不可或缺的空间。人们可以在论坛中谈论喜欢的话题、提出或解答疑问、发布通知和公告等。由于它独特的形式和强大的功能,受到广大网友的欢迎,并成为全世界计算机用户交流信息的园地。

1.系统概述

目前论坛为人们提供了一个交流空间,用户可以参与到自己的讨论话题中,浏览论坛中的帖子或者发表自己的看法。在论坛中非注册用户只可以浏览论坛中的帖子,不可以对帖子发表评论或发表新的论题;论坛的注册会员可以发布新的论题,并且可以自己的个人信息。

1.1系统现状研究

目前常见的论坛系统主要有两类:一类是利用Telnet软件登陆站点上,这种方式可以使用同时上站的用户数大大增加,每一个站点可以同时有200人上线,使多人之间的直接讨论成为可能;另一类就是现在许多用户更习惯的,基于web的论坛系统,用户只要连接到Internet上直接利用浏览器就可以进入论坛,阅读其他用户的发言,发表自己的意见。

1.2系统开发方法

本系统讨论的是一个基于web的关于饮食的论坛系统。本系统需要综合应用数据库,javabean和jdbc等技术。

2.可行性分析

2.1系统总体目标

本系统主要是为了给那些对饮食方面感兴趣的朋友提供一个交

流的平台,对有话可说的朋友,你在这里可以进行注册成为会员,参与有关话题的讨论,或提出新的话题,还可以修改个人资料。非注册会员你可以浏览论坛里的帖子,获取对自己有用的信息。另外假如你对某些版块很赶兴趣,你还可以向管理员申请成为某一版块的斑竹,去管理本版块的帖子,对于那些不健康的帖子你可以把它们给删除掉。起到对论坛的维护作用。对于管理员拥有最高权限,可以授予别人为某个版块的斑竹等等。

2.2技术可行性分析

本论坛是基于web来开发的,主要运用JSP,JDBC,JavaBean 等相关技术,以Access 为后台数据库、Tomcat5.5为应用服务器。这些应用软件(如JDK、tomcat5.5、eclipse、Macromedia Dreamweaver MX 2004等都可以在网络上免费下载得来),并且这些软件都是些最常用的网页开发工具,都能够快和好的掌握,并且也学了有关网页开发的课程,所以一些最常用的技术能够比较好的实现,所以对于本系统在技术上是可以达到的。

3.需求分析

经过以上对系统的调研及可行性分析后,下面对系统在功能上和性能上进行进一步的需求分析。

3.1功能需求

本系统应该具有信息浏览、信息发布、信息回复、编辑、删除帖子、用户注册、用户管理、个人信息修改、查看个人信息等功能。

3.2性能需求

设备需求:PC机,Windows98/2000/xp操作系统,PII以上,64MB RAM。服务器、采用Access数据库管理。

4.系统设计

4.1功能模块结构图

SHAPE \* MERGEFORMAT

(功能模块结构图)

4.2功能模块描述

根据权限的不同,用户的操作范围也不相同,系统管理员可以维护此版块的所有帖子的相关信息;注册用户可以发布新帖子、回复帖子、编辑自己发的帖子和浏览版块中的所以帖子;而非注册用户只有浏览帖子的权限。

(1)登陆模块

根据用户输入的拥护名和密码,与数据库中进行匹配,验证账号和密码。

(2)注册模块

注册新的用户,根据提示填写你的相关信息,再提交到数据库,进行检查,如果已经有此用户名就要重新命名。

(3)信息修改

可以进行修改你的个人信息。

(4)浏览帖子

用户可以在此浏览帖子的主题信息。通过单击主题信息的连接,可以进入此贴的主题的内容和浏览此贴的详细内容。

(5)发布帖子

匿名用户不可以使用此部分的功能,只有注册用户才可以在此模块中发布一个新的主题信息。

(6)回复帖子

此部分也需要由注册用户使用。用户可以在此部分对一个贴子的信息进行回复。

(7)编辑帖子

注册用户可以对自己所发的帖子进行编辑。

4.3数据库设计

此实例中使用Access数据库,通过JDBC-ODBC桥进行数库连接,例如此数据库名为fourm.mdb,该系统中需要建立,存放相关信息。

(1)首先创建user表,在此表里存储了包括所有用户的注册信息。

(2)然后创建article表,此表记录了论坛中的所有版块的所有信息

4.4 详细设计

4.4.1登陆模块设计

用户登陆模块主要根据用户登陆信息,与数据库信息成功匹配后,获得其相应的操作权限。

打开网页,等待用户输入帐号、密码、判断用户输入信息,与后台数据库是否匹配,若不匹配,则刷新页面,等待用户重新输入。

4.4.2用户注册模块设计

单击登陆页面下方的“注册新用户”将进入注册页面。根据注册相关选项填写所要求填写的信息。其中会进行用户名长度和密码长度验证。如果不符合条件得从新输入。

4.4.3用户信息修改设计

当进入系统后,你可以单击“修改个人信息”,进行相关信息的修改。

4.4.4浏览帖子模块设计

当单击论坛某个版块连接时,即可以在打开的页面看到该版块帖子的主题列表,在列表中列出了帖子的作者、回复数量、浏览数量和最后恢复的时间。

4.4.5发布帖子模块设计

论坛作为一种信息交流的工具,少不了要发表文章,其页面和一般的表单提交差不多,只是增加了一些功能而已。为了用户的方便,在设计时有两个地方可以实现对帖子的发表,一个是在浏览帖子主题列表页面中;另一个是在浏览帖子内容页面中,但这两个所指向的连接是同一个页面。在发表帖子时,将通过JavaBean 取得帖子数量,并保存到数据库中。

4.4.6回复帖子模块设计

回复帖子也是在post.jsp页面完成的。回复帖子都会在原文标题前加上“re”作为帖子标题,对帖子的回复需要获得帖子的主题id,一个帖子id 可能有零个或多个回复,这个主题id提交也是在连接中动态生成。

4.4.7编辑帖子模块设计

如果用户需要修改自己发表的帖子,或者对帖子不满意,那么你可以对帖子进行相应的修改。在浏览帖子页面单击“编辑”连接,既可进入编辑页面,在此可以对标题、内容和图表等信息进行修改,编辑帖子页面。

5.系统的组成和实现

在本系统中,版块越多,帖子数量越大,就越能吸引人气,所以,论坛都会分为多个模块,在每个版块中发表相应的帖子,而本文将着重介绍论坛帖子的相应操作及管理这一部分,包括浏览帖子,发表帖子,回复帖子,编辑帖子,删除帖子等操作,而具有不同权限的用户可以进行不同的操作非注册用户只能浏览帖子。注册拥护可以发表帖子、回复帖子、可以管理自己所发表的帖子;而管理员可以进行所有的操作。下面将逐一介绍。

5.1系统组成

本系统包括浏览帖子,发表帖子,回复帖子,编辑帖子,删除帖子等操作,分为技术交流区、美食天地、生活五味、精华区等区域版块。

5.2系统的实现

dbBean文件实现了数据库的连接,以及各种通用函数的声明。其他网页如果需要连接数据库,只要包含该文件即可。这样可以大大

减少代码的重复,便于阅读和维护,由于该文件设计合理,因此所有页面都使用该文件。主页面()

5.2.1登陆模块实现

当用户在浏览器中输入http://localhost:8080/login.jsp时,系统将进入登陆页面。主要代码:

......

<%

request.setCharacterEncoding("gb2312");

session.setMaxInactiveInterval(-1);

String user=request.getParameter("user");

String pw=request.getParameter("pw");

String sql="select * from user where name='"+user+"' and password='"+pw+"'";

ResultSet rs=conn.executeQuery(sql);

if(rs.next())

{

session.setAttribute("rank",rs.getString("rank"));

session.setAttribute("id",rs.getString("userid"));

session.setAttribute("name",rs.getString("name"));

rs.close();

conn.close();

%>

<%

}

else

{

rs.close();

conn.close();

%>

......

5.2.2用户注册模块实现

单击登陆页面下方的“注册新用户”将进入注册页面。代码如下:

...

<%

request.setCharacterEncoding("gb2312");

String name="";

String password="";

String sex="";

String age="";

String phone="";

String email="";

String address="";

String face="";

ResultSet rs=null;

if(request.getParameter("username")!=null)

name=request.getParameter("username");

if(request.getParameter("password")!=null)

password=request.getParameter("password"); if(request.getParameter("sex")!=null)

sex=request.getParameter("sex");

if(request.getParameter("age")!=null)

age=request.getParameter("age");

if(request.getParameter("phone")!=null)

phone=request.getParameter("phone");

if(request.getParameter("email")!=null)

email=request.getParameter("email");

if(request.getParameter("address")!=null)

address=request.getParameter("address");

if(request.getParameter("face")!=null)

face=request.getParameter("face");

String sql="select * from user where name='"+name+"'";

rs=conn.executeQuery(sql);

if(rs.next())

{

rs.close();

out.println("

对不起,该用户名已经被占用,请另选一个用户名!

");

out.println("返回

");

}

else

{

sql="insert into

user(name,password,sex,age,phone,email,address,rank,pubnum, face)

values('"+name+"','"+password+"','"+sex+"','"+age+"','"+pho ne+"','"+email+"','"+address+"',0,0,'"+face+"')";

conn.executeUpdate(sql);

out.println("

恭喜您,注册成功!


");

out.println("返回登录页面

");

}

conn.close();

%>

...

5.2.3用户信息修改实现

当进入系统后,你可以单击“修改个人信息”,进行相关信息的修改。

代码省略。

5.2.4浏览帖子模块实现

当单击论坛某个版块连接时,即可以在打开的页面看到该版块帖子的主题列表,在列表中列出了帖子的作者、回复数量、浏览数量和最后恢复的时间。代码见系统;

(该图即为技术交流区的相关帖子,其他的版块帖子见系统。)

另外浏览帖子主题列表和论坛的其他版块都使用了分页的功能,这里通过int pagesize=10;语句确定每页帖子的数量,这个数量可以根据自己的需要设置;用

pagecount=(recordCount%pageSize==0)?(recordCOunt/pageSize): (recordCount/pageSize+1) 语句计算得到该版块的帖子所站用的总页数;通过for(int i=1;i<=pageCount;i++)语句在翻页时获得页数,

如第2页、第三页。效果如图:

在显示帖子内容这个页面,论坛使用了目前最常用的一种格式,即分为标题和正文部分,通过标题部分和正文部分的颜色不同将不同的帖子划分开来。单击想查看的帖子,即可浏览该帖子的内容。

5.2.5发布帖子模块实现

论坛作为一种信息交流的工具,少不了要发表文章,其页面和一般的表单提交差不多,只是增加了一些功能而已。为了用户的方便,在设计时有两个地方可以实现对帖子的发表,一个是在浏览帖子主题列表页面中;另一个是在浏览帖子内容页面中,但这两个所指向的连接是同一个页面。在发表帖子时,将通过JavaBean 取得帖子数量,并保存到数据库中。发表帖子的页面为(post.jsp):

当用户提交帖子时,该帖子的信息将被保存到.jsp页面中,然后保存到数据库的数据表中,然后页面跳到浏览帖子页面。

5.2.6回复帖子模块实现

回复帖子也是在。Jsp页面完成的。回复帖子都会在原文标题前加上“re”作为帖子标题,如图,对帖子的回复需要获得帖子的主题id,一个帖子id 可能有零个或多个回复,这个主题id提交也是在连接中动态生成。

相关文档