《BBS论坛系统毕业设计(共28页).doc》由会员分享,可在线阅读,更多相关《BBS论坛系统毕业设计(共28页).doc(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上摘 要:本论坛系统是基于是Struts2+MYSQL+JSP实现的BBS论坛系统,它具有使用方便、操作灵活、运行稳定、安全可靠等特点.本设计目的是提供一个供用户交流的平台,为广大用户提供交流经验、探讨问题的网上社区.实现了用户注册,登录,用户之间多人互动聊天,留言,上传照片,更改个人信息,显示全部用户,上线用户,查找好友等功能.关键词:BBS论坛,Struts2,MySQL,JSP Abstract:This forum system is based on Struts2+MySQL+jsp implementationed BBS forum system , i
2、t has the characteristics of convenient use, flexible operation, stable operation, safety and reliability etc.This forum system aims to provide a communication platform for the user, and also aims to provide the exchange of experience for the vast number of users of the online community.It realized
3、the regist, login, multiplayer chat, message, upload photos, change of personal information, display all the users, on-line users, find friends and other functions.Keywords:BBSForum, Struts2,MYSQL,JSP 目 录 1 引言42 系统分析42.1 系统功能分析4 2.1.1 用户功能分析52.1.2 管理员功能分析52.2 模块需求分析52.3 可行性分析6 2.3.1 技术可行性6 2.3.2 社会可
4、行性6 3 系统总体设计63.1 系统目标63.2 系统功能划分73.2.1 前台功能结构73.2.2 后台功能结构73.3 系统开发环境73.3.1 开发环境73.3.2 系统平台体系结构83.3.3 JavaScript语言简介及特点83.3.4 JSP概述 93.3.5 MySQL技术 93.3.6 JDBC技术94 数据库设计104.1 数据库概念设计104.2 数据库逻辑设计135 系统详细设计与实现145.1 前台设计145.2 后台设计25结论26参考文献27致谢281 引言随着网络的兴起,人们的交流越来越方便.于是就出现了论坛,使得人们足不出户就可以互相聊天,也可以通过网络了解
5、国家大事,还可以针对某一事件发表个人看法,大家可以畅所欲言.BBS论坛系统,就是一种在线交流的平台.在论坛上,人们可以对某一领域提出自己遇到的问题,即发表某一主题,随后,论坛上的其他人会根据自己的学识、经验发表意见或提出问题的方法. BBS论坛主要是一个供用户交流的平台,为广大用户提供交流经验、探讨问题的网上社区.因此,BBS论坛系统最基本的功能首先是发表主题,其次是其他人员根据主题发表自己的看法.此外,为了记录主题的发表者和主题的回复者信息,系统还提供用户注册和登录的功能.只有注册的用户登录后才能够发表和回复主题,没有注册的用户只能浏览网站信息. 此论坛是基于B/S模式的一种JSP网页论坛的
6、设计与实现,力求做到页面美观,简单易于操作.论文从几个方面对系统的开发做出了阐述.在系统分析一章,从系统的功能分析,模块需求描述,可行性分析三方面来研究.系统总体设计从系统目标,系统功能划分,系统开发环境三方面来研究.数据库设计数据库的概念设计,数据库的逻辑设计两方面来研究.系统的详细设计与实现从前台设计与后台设计两方面来研究的.2 系统分析2.1 系统功能分析浏览者注册登录浏览版块用户查看帖子发布帖子用户管理管理员回复帖子帖子管理系统中主要包括用户和管理员,如图2.1所示. 图2.1 系统功能模块图2.1.1 用户功能分析(1) 用户可以注册登录.(2) 注册登录后可以浏览帖子,修改个人信息
7、. (3) 用户可以发新帖子. (4) 用户可以回复帖子.2.1.2 管理员功能分析(1) 管理所有的用户信息,包括增删改查.(2) 管理所有的帖子,包括增删改查和移动.2.2 模块需求描述 (1) 注册登录功能 用户进入首页,如果有账号可以直接登录,如果没有账号需要进行注册后才能登录.为安全防护,验证登录者的身份,规定用户的昵称不能为空,必须不得少于5个字符,密码也不得少于5个字符.还必须再次输入密码确认无误.电子邮箱必须填正确的Email.验证码必须跟所给的验证码一致,区分大小写,不然会有错误提示.所有的注册完成之后才能注册成功,然后给一个登录账号.有了账号之后输入密码才可以登录.这些都是
8、通过JavaScript来验证的. (2) 用户浏览或修改个人信息功能 用户登录之后,可以在首页查看自己的相册,查看个人信息,还可以补充个人信息以及修改个人信息.修改个人头像.可以发送个人消息,查看全部用户以及在线用户等功能,搜索好友等. (3) 用户浏览帖子功能 用户可以在帖子列表区浏览帖子. (4) 用户发新帖子功能 用户可以在帖子列表区发表主题,也可以就别人的帖子发表自己的观点.发表成功后新帖子就会出现在帖子表的最上面. (5) 用户回复帖子功能 用户查看帖子信息,然后可以搜索好友里查找该好友然后给此发帖子的人留言. (6) 管理员管理用户功能 管理员登录之后可以点击管理用户,看到一个显
9、示所有用户信息的列表,管理员可以对用户信息进行删除. (7) 管理员管理帖子功能 管理员登录之后还可以点击管理帖子,看到一个显示所有帖子信息的列表,管理员可以对帖子信息进行更新和删除或者移到其他的版块中.2.3 可行性分析2.3.1 技术可行性技术可行性分析主要是分析技术条件是否能顺利完成开发工作,能否满足开发者的需求等.该BBS论坛管理系统采用了最近流行的JSP语言和当前兴起的Browser/Server(浏览器/服务器)模式进行开发. 数据库服务器选用mysql5.0数据库,它能够批量处理数据,同时保持数据的完整性并提供许多高级管理功能.从而使数据库编程变得灵活,安全和易用.因此系统的软件
10、开发平台已成熟可行,能满足此系统的需要. 2.3.2 社会可行性 随着互联网技术的飞速发展,BBS论坛已经成为人们人们彼此沟通、交流信息的主要方式.在论坛上,人们可以在各个领域提出自己的问题和想法,然后,论坛上的其他人会根据自己的看法、经验发表意见或提出解决问题的方法.BBS论坛不仅缩短了人们之间的距离,也成为人们在线交流的重要工具.所以在今天的人类生活中BBS论坛是非常重要的.3 系统总体设计3.1 系统目标 基于BBS论坛在现实生活的实际应用,本系统的系统目标是提供一个以现实环境为基础的网上交流平台.通过它人们不必拘泥于空间和时间上的限制,方便交流,畅所欲言同时也能够更加便利的看到别人的想
11、法,观点,最大化的丰富人们的视野和生活.让人随时随地的享受网络的乐趣.3.2 系统功能划分3.2.1 前台功能结构BBS论坛 主界面发表主题浏览主题回复主题登录注册游客浏览主题 图3.2.1 BBS论坛前台功能模块图后台管理用户管理论坛管理删除用户搜索用户编辑用户编辑论坛删除论坛搜索论坛3.2.2 后台功能结构 图3.2.2 BBS论坛后台功能模块图3.3 系统开发环境3.3.1 开发环境在开发此论坛的时候,需要具备下面的软件和开发环境 服务器端: (1)操作系统:Windows7. (2)Web服务器:Tomcat 6.0. (3)Java开发包:JDK 1.6. (4)数据库:Mysql
12、5.0. (5)集成开发工具:Myeclipse 8.5. 客户端: 浏览器:Firefox8.0. 3.3.2 系统开发体系结构的选择5在应用开发领域中,目前系统平台的体系结构主要有两种,即C/S(Client/Server)结构和B/S(Brower/Server)结构. B/S结构,即浏览器和服务器结构.它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全.特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效.B/S结构,是随着Internet技术的兴起,对C/
13、S结构的一种变化或者改进的结构.在这种结构下,用户界面完全通过web浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术.因此本系统采用了B/S结构.3.3.3 JavaScript语言简介及特点JavaScript语言是Netscape公司开发的一种脚本性语言,Scripting language或者称其为描述性语言.作为一种编程语言,在静态网页Html的基础上,使用JavaScript可以开发交互式Web网页,能够使网页和用户之间实现一种实时性的、动态的、交互性的关系
14、,使得网页包含更多活跃的元素和更加精彩内容.JavaScript是专门为制作Web网页而量身定做的一种简单的编程语言. JavaScript是在客户机上执行的,其特点和功能主要是短小精悍,能够大大提高网页的浏览速度和交互能力.其特有的工具色彩让其在动态网页的开发中找到了用武之地.3.3.4 JSP概述3,4 JSP是由Sun公司在Java语言的基础上开发出来的一种动态网页制作技术,其将标记插入到页面中,从而把网页中的静态部分和动态部分分离.JSP技术的强势在于1一次编写,到处运行.在更换系统时,代码不需要做任何修改. 2强大的可伸缩性.通过小小的jar文件运行servlet/JSP,到由多台服
15、务器进行集群和负载均衡,到多台Application进行事务处理,一台服务器到无数台服务器,JSP表现了强大的可伸缩性. 3系统的多平台支持.基本上可以在所有平台上的任意环境下开发.在任意环境中进行系统部署,在任意环境中扩展.4多样化和功能强大的开发工具支持,常用的编辑工具有Dreamweaver和MyEclipse等.3.3.5 MYSQLMySQL是瑞典MySQL AB公司开发的一个小型关系型数据库管理系统.MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内.这样就增加了速度并提高了灵活性. MySQL可以称得上是目前运行速度最快的SQL
16、语言数据库,除了具有许多其他数据库所不具备的功能外,MySQL体积小、速度快、总体拥有成本低,尤其是开放源码这种完全免费的产品,用户可以直接从网上下载,用于个人和商业用途,而不必支付任何费用.1本系统使用java编写,并使用了多种编译器进行测试,支持多线程,充分利用CPU资源,优化的SQL查询算法,有效地提高查询速度,既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中.支持多语言,提供用于管理、检查、优化数据库操作的管理工具,可以处理拥有上千万条记录的大型数据库,支持多种存储引擎.所以本BBS论坛系统也选择Mysql数据库.2 3.3.6 JDBC技
17、术 数据库管理是每个应用系统开发过程中必须使用问题.目前主流的数据库有Oracle、SqlServer、MySql等.不管使用何种技术,都离不开JDBC技术的支持. JDBC的全称是Java DataBases Connectivity standard,即Java数据库连接,其定义了用来访问数据库源的标准Java类库,是一种数据库通用接口采用的主流技术.通过它使用一种标准方法,就能够方便的访问数据库资源. JDBC是一种规范,其目标是使应用程序开发人员通过它连接任何提供JDBC驱动程序的数据库系统,这样就使得程序员无需对某种数据库有过多的了解,大大加快了开发过程. 所以JDBC为Java应用
18、程序与各种不同数据库之间进行对话提供了一个标准的方法,这也是Java语言“一次编写,到处运行”的优势. JDBC连接数据库代码:Connection conn = null;try Class.forName(driver);conn=Drivermanager.getConnection(url+?useUnicode=true&characterEncoding=utf8, username,password); catch (Exception e) e.printStackTrace();return conn;4 数据库设计4.1 数据库概念设计E-R图是实体联系图,E-R模型是对现
19、实世界的一种抽象.其组成部分主要包括实体、联系和属性.通过这三种成分,我们可以很好的抽象出现实世界中的个体,并通过彼此之间的联系来抽象整个世界.E-R模型是设计数据库时经常使用到的方法. 经过分析,本系统创建了五张数据库表.即回复帖表record、根帖信息表msg,论坛类别信息表picture,用户表user和管理员表admin.下面划分出本系统所使用的数据库实体,它们分别为用户user和帖子record以及管理员admin.用户血型爱好账号姓名电话学校星座生日性别密码邮箱地址头像 用户信息表如图4.2.1所示:主要有账号,用户姓名,生日,性别,密码,地址,邮箱,头像,电话,血型,星座,学校,
20、爱好. 图4.2.1 用户信息实体图回复帖编号回复者账号回复者头像回复内容回复帖子时间 回复帖表如图4.2.2所示:主要有编号,账号,回复者,回复者头像,回复内容,回复帖子时间.图4.2.2回复帖信息实体图 论坛类别信息表如图4.2.3所示:主要有编号,账号,类别名称.论坛类别信息编号账号类别名称图4.2.3 论坛类别信息实体图根帖信息表如图4.2.4主要包括:编号,登录者的头像,登录者姓名,登录者账号,发布者账号,内容,回复帖子,发布时间.根帖编号登录者头像登录者姓名登录者账号发布者账号内容发布时间回复帖子图4.2.4 根帖信息实体图管理员信息表如图4.2.5所示,主要包括:账号,密码,内容
21、.管理员账号密码内容图4.2.5管理员信息实体图4.2 数据库逻辑设计 用户表user:FiledTypeNullKeyDefaultaccountVarchar(10)NOPRINULLusernameVarchar(10)YESNULLbirthdaydateYESNULLgendarvarchar(3)YESNULLpasswordvarchar(10)YESNULLaddressvarchar(30)YESNULLemailvarchar(30)YESNULLheadvarchar(10)YESNULLmsgvarchar(100)YESNULLphonevarchar(11)YESN
22、ULLbloodvarchar(2)YESNULLstarvarchar(9)YESNULLschoolvarchar(20)YESNULLlikesvarchar(50)YESNULL 回复帖表record:FieldTypeNullKeyDefaultidbigintNOPRINULLaccountvarchar(10)YESNULLusernamevarchar(20)YESNULLheadvarchar(10)YESNULLcontentvarchar(500)YESNULLtimetimestampYESNULL 论坛类别信息表picture:FieldTypeNullKeyDefa
23、ultidbigintNOPRINULLpicNamevarchar(100)YESNULLaccountvarchar(10)YESNULL 根帖信息表msg:FieldTypeNullKeyDefaultidbigintNOPRINULLloginuser_headvarchar(10)YESNULLloginuser_usernamevarchar(20)YESNULLloginuser_accountvarchar(10)YESNULLuser_accountvarchar(10)YESNULLcontentvarchar(300)YESNULLanswervarchar(300)YE
24、SNULLtimedatetimeYESNULL 管理员表admin:FieldTypeNullKeyDefaultaccountvarchar(10)NOPRINULLpasswordvarchar(10)YESNULLtext varchar(200)YESNULL5 系统详细设计与实现5.1 前台设计 (1) 前台页面设计与实现 此系统的页面都使用了页面框架,前台页面分为3个区域:页头,功能栏,内容显示区.前台页面的运行结果如图5.1.1所示.图5.1.1前台页面的运行结果实现前台页面显示的主要代码login.jsp如下: 用户登录 账号 密码 &n
25、bsp; 管理员登录 账号 密码 (2) 用户注册/登录,管理员登录 用户进入首页,必须先注册然后登录,否则直接登录不上,该用户注册页面的主要效果是:验证用户的个人信息.主要由regist.jsp生成,页面显示效果如图5.1.2所示:图5.1.2用户注册页面显示图 主要实现代码如下: $(function() $(#fff).validate(rules: username: required:true,minlength:5,password: required:true,minlength:5,confirm_password: equa
26、lTo: #password,email: email: true,birthday:, address: , gendar:,codes: required:true,remote:code.action,messages: username: required: 用户名必须填,minlength:用户名不能小于5个字符,password: required:密码必须填,minlength:密码不能小于5个字符,confirm_password: equalTo: 两个密码必须一样,email: email: 必须填正确的Email,birthday:,address: , gendar:,
27、codes: required: Code必须填,remote: Code不对);); (3) 论坛板块的展示 接下来用户才可以登录,直接输入用户注册成功后得到的那个账号,和用户注册时的密码就可以登录到此论坛的主界面了,论坛板块的展示如图5.1.3所示:图5.1.3论坛版块展示图 (4) 个人信息模板的展示 个人信息模板如下图5.1.4所示: 图5.1.4 个人信息模板展示实体展示图 (5) 补充个人资料模板的展示 补充个人资料模板如下图5.1.5所示:图5.1.5补充个人信息展示实体图 (6) 主人寄语以及留言板块的展示 如图5.1.6所示:如图5.1.6主人寄语及留言板块实体展示图5.2
28、后台设计 (1) 管理员管理用户信息模板的展示 管理员管理用户实体图下图5.2.1所示:图5.2.1 管理员管理用户实体展示图(2) 管理员修改和删除帖子模板的展示管理员修改删除帖子实体图如下图5.2.2所示:图5.2.2 管理员修改删除帖子实体展示图总 结通过此次基于struts和jsp开发的BBS在线论坛的设计,使我对Java和jsp程序设计有了深一步的了解,对软件系统设计及开发有了比较全面的思路.但是系统还存在一些问题,需要通过进一步的学习,来不断地完善。总之,此次毕业设计给我提供了一个动手动脑、自学、独立实践的机会,使我养成了勤翻阅资料的习惯,将书本上的理论知识和实际有机地结合起来,提
29、高了实际分析问题和解决问题以及实践编程的能力,为今后的学习和实践打下了良好的基础. 参考文献1 寇毅,吴力文.基于MVC设计模式的Struts框架的应用方法J.计算机应用,2003:112 陈伟.SQL Server 2005数据库应用于开发教程M.北京:清华大学出版社,20073 李立功,赵扬.MySQL程序设计与数据库管理M.北京:科学出版社 20014 王志刚,江友华.MySQL高效编程 M.北京:清华大学出版社 2012.015 缪勇.JSP网络开发逐步深入M.北京: 清华大学出版社 20106 余芳,林美,夏跃伟.JSP动态网站开发案例指导 M.北京:电子工业出版社7林子禹等.基于web与组件技术的企业应用系统设计模型J.计算机工程与应用,2000:6致 谢 衷心感谢王晓晶老师在整个毕业设计期间给予我无微不至的关怀和细心的指导.在设计过程中老师为我提出了许多宝贵的意见和建议,使我受益匪浅.在论文即将完成之际,谨向王晓晶老师表示深深的谢意.专心-专注-专业