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