《网络论坛课程设计.doc》由会员分享,可在线阅读,更多相关《网络论坛课程设计.doc(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、安徽省巢湖学院计算机与信息工程学院课程设计报告课程名称: 网络协议与网络编程课程设计 课题名称: 网络论坛 专业班级: 11网络工程(1)班 同组姓名: 周兴美、张玺、张达也、李洪雷 同组学号: 、联系方式: 指导教师: 吴其林 目 录一、课程设计目的二、课程设计内容2.1、需求分析2.2、同组人员的任务分配三、设计思路与步骤3.1、注册新用户:3.2、用户登录:3.3、浏览帖子:3.4、用户注册信息修改:3.5、用户退出登录:四、数据库设计4.1、概要设计:4.2、表设计:4.3、数据字典设计:五、程序设计5.1、head页面设计5.2、首页设计5.3、用户设计5.3.1、用户登录设计5.3
2、.2、用户注册设计5.3.3、发帖页面设计5.3.4、用户留言板设计5.4、管理员设计5.4.1、管理员登录设计5.4.2、删贴设计六、程序部分代码6.1、首页代码6.2、浏览帖子代码6.3、用户登录代码6.4、查找好友代码七、总结附录:参考文献一、课程设计目的网络论坛作为一种对外的展示窗口,进行内外信息交流,已成为大众的广泛需要。为了进行更好的交流,用户就想自己的专业和爱好能和其他的用户进行及时专业的交流,这就有了论坛这样一来我们就网络论坛在网络这个虚拟的空间中更方便地实现交流。作为web程序设计课程的延伸,在学生完成了web程序设计课程的理论学习后,安排的课程设计,旨在提高学生web程序开
3、发水平,培养学生网络编程的能力。二、课程设计内容2.1、需求分析开发网络论坛系统的目的是一个供用户交流的平台,为了广大用户提供交流经验、探讨问题的社区。因此,网络论坛系统最基本的功能首先是发表主题,其次是其他人员根据主题发表自己的看法。此外,为了记录主题的发表者和主题回复者的信息,系统还需要提供用户注册和登陆功能。只有注册的用户登陆后才能够发表和回复主题,浏览者(游客)只能浏览主题和回复信息。根据用户的需求及以上的分析,网络论坛需要具备前台功能和后台功能。用户使用论坛是按照一定得流程来进行的:用户注册登录进入论坛,就某个话题展开讨论,通过发帖功能发布新的话题,通过回帖的功能回复已有的话题,通过
4、搜索查找已有的话题;管理员要管理论坛,系统需要具有的功能管理注册的用户,管理帖子。这样的流程就决定了论坛所应具有的功能,路摊流程图如下:论坛一般存在两种用户,注册用户和管理员。用户的权限是向下覆盖的,即上级权限包含下级权限,管理员的权限是上级权限。论坛系统的用户浏览信息功能,是用户讨论问题的平台,发帖、浏览。回帖一直贯穿用户的整个活动。同时又有论坛系统的帖子管理是管理员在帖子浏览时进行的,只是一般用户没有权限做这些动作。通过上面的分析,总结论坛的功能有以下几项:论坛板块列表;浏览帖子;发帖回帖;搜索帖子;删除帖子;用户注册;用户登录;控制用户权限;修改注册信息;管理用户。2.2、同组人员的任务
5、分配学生姓名完成的主要任务周兴美课程设计目的、需求分析、数据库设计、程序设计、程序代码、总结张 玺课程设计目的、需求分析、搜索资料张达也搜集资料、总结、数据库设计李洪雷设计思路与步骤、程序代码三、设计思路与步骤3.1、注册新用户: 注册新用户:新用户填写注册表单,包括用户姓名、密码、联系方式等信息;如果输入用户名已被注册过,系统提示用户更改自己的用户名。3.2、用户登录:输入用户名和密码;若用户输入有误,系统将提示错误。成功登录的用户可以发表帖子。3.3、浏览帖子:成功登录的用户可以浏览其他用户发布的帖子。3.4、用户注册信息修改:用户可以修改自己的注册信息。3.5、用户退出登录:成功登录的用
6、户可以使用该功能退出论坛系统。四、数据库设计4.1、概要设计:通过对系统进行的需求分析和系统功能的确定,规划出系统中使用的数据库实体对象分别为用户实体、管理员实体、发帖实体、回帖实体。4.2、表设计: 将E-R图转换为关系模型一般遵循如下原则:(1)一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。(2)一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。(3)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及
7、联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。(4)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。根据上述原则设计的数据表如下: 用户实体:用户(用户名、密码、性别、年龄、邮箱、地址、图像、电话) 管理员实体:管理员(姓名、密码) 发帖实体:发帖(发帖人、编号、主题、内容、时间、浏览次数、回帖次数) 回帖实体:回帖(编号、主题、内容、回帖时间)4.3、数据字典设计:数据字典:网络论坛系统会涉及大量的静态数据,如发帖主题、发帖内容、发帖时间、用户年龄、用户性别、用户地址等,这些数据,其数据的组织结构基本一致,现为该系统设计四个数据字典:用户字典、管
8、理员字典、发帖字典、回帖字典。用户字典user:属性名称属性类型是否可以为空约束 含义usernameVarchar NOT NULL 主键用户名passwordVarchar NOT NULL 密码sexNumber NOT NULL只能为0和1 性别 age Date NULL 年龄 imageVarchar NULL 图像 emailVarchar NULL 邮箱addressVarchar NULL 地址telVarchar NULL 电话管理员字典admin:属性名称属性类型是否可以为空约束 含义idvarcharNOT NULL 主键 编号 usernamevarcharNOT N
9、ULL 用户名passwordvarcharNOT NULL密码发帖字典:属性名称属性类型是否可以为空约束含义 idInt NOT NULL 主键 编号 usernamevarchar NOT NULL 发帖人 titlevarchar NOT NULL 主题 contentText NOT NULL 内容 datetimedateNULL 发帖时间 timesInt NULL 浏览次数 replytimesIntNULL 回帖次数回帖字典:属性名称 属性类型是否可以为空 约束 含义idInt NOT NULL主键 编号titlevarchar NOT NULL 主题content Text
10、NOT NULL 内容 datetime Date NOT NULL 回帖时间五、程序设计5.1、head页面设计整体上显示出本网络论坛网站的总体架构分为:论坛首页、情感美文、生活妙招、学习技巧、娱乐休闲。5.2、首页设计首页流程图如图所示:主页界面如图所示:用户在head页面上点击论坛首页,即可进入本网络论坛首页,在页面左上角有关于用户登录、注册的相关链接,用户点击之后即可进入相关的界面,实现登录或注册。在登录、注册下方有搜索选项,用户输入相关内容即可搜索相关的帖子。正文部分,用户可以浏览或查看相关的帖子。5.3、用户设计5.3.1、用户登录设计登录流程如下:用户登录界面如下:已注册的用户,
11、点击登录之后,进入登录界面,输入昵称、密码之后即可进入用户登录后的主页用户登陆后可以回帖、修改个人资料等。5.3.2、用户注册设计注册页面完成游客(未注册用户)注册本站用户。注册时只需要填写必要的信息:邮箱、用户名、密码、确认密码、头像。方便用户注册。其他信息需要通过个人资料修改页面来填写。流程如下:注册页面如下:5.3.3、发帖页面设计用户只需单击右上方的导航中的发帖链接即可进入本页面;发帖页面允许登陆用户发表主题帖子,通过这个页面,用户选择板块进行发帖。流程如下:发帖页面如下:5.3.4、用户留言板设计用户只需单击主页上显示的帖子下方的留言的链接即可进入本页面;留言页面允许登陆用户发表主题
12、帖子。流程图如5.3.3流程图所示留言板页面如图所示:5.4、管理员设计5.4.1、管理员登录设计管理员登录之后可以对所有的帖子进行管理(如删除)流程图见5.3.1流程图所示管理员登录界面如下:5.4.2、删贴设计管理员登录之后可以对帖子进行删除。管理员删除界面如下:六、程序部分代码6.1、首页代码 天天论坛首页 留言板 个人资料 查找好友 帖子排行榜 % DBAccess db=new DBAccess(); String sql=select * from article order by clickNum desc; if(db.createConn() db.query(sql); i
13、nt i=0; while(db.next()&i a href=arread.jsp?title=() 浏览次数: 论坛分区 a href=boread.jsp?boradname= % String sq=select * from article where boradname=+boradname1+; DBAccess d=new DBAccess(); if(d.createConn() d.query(sq); int j=0; while(d.next()&j a href=arread.jsp?title=() 6.2、浏览帖子代码浏览帖子 留言板 个人资料 查找好友 帖子排
14、行榜 % DBAccess db=new DBAccess(); String sql=select * from article order by clickNum desc; if(db.createConn() db.query(sql); int j=0; while(db.next()&j a href=arread.jsp?title=() 浏览次数: 标题 作者 回复/查看 发表时间 % int Pagesize=15; int Recordcount; int Pagecount; int Page; int i; String spage=request.getParamet
15、er(Page); if(spage=null) Page=1; else Page=java.lang.Integer.parseInt(spage); if(PagePagecount) Page=Pagecount; if(Pagecount0) db.getRs().absolute(Page-1)*Pagesize+1); i=0; db.getRs().first(); while(i a href=arread.jsp?title= a href=useread.jsp?username= 第页 共页% if(Pagea href=read.jsp?page=下一页1)%a href=read.jsp?page=上一页6.3、用户登录代码用户登录 返回首页 昵称 : 密码: 免费注册 6.4、查找好友代码!DOCTYPE html PUBLIC -/W3C/DTD HTML 4
限制150内