《论坛BBS系统毕业设计论文.docx》由会员分享,可在线阅读,更多相关《论坛BBS系统毕业设计论文.docx(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、论坛BBS系统毕业设计选题审批单年级 2012级 专业 软件技术 班级 1班 学生姓名 学 号1210070103选题论坛BBS系统选题性质设计报告其他选题论证:BBS的全称是Bulletin Board System,中文名称为电子公告栏系统。我们简称为论坛。论坛是互联网诞生之初就存在的形式,历经多年洗礼,论坛作为一种网络平台,不仅没有消失,反而越来越受到各个年龄层的人的喜爱。由于BBS的参与人众多,因此各方面的话题都不乏热心者。我们当然可以利用它来解决学习中的一些疑惑,也可以把自己的心事吐露出来。指导教师初审意见:签 名:年 月 日毕业设计工作领导小组审批意见:签 名:年 月 日 毕业设计
2、开题报告及进度要求年级 2012级 班级 1班 学生姓名 学 号1210070103指导教师 选题性质设计报告其他选题论坛BBS系统选题的目的和意义:通过论坛系统可随时取得各种最新的信息;也可以通过BBS系统来和别人讨论各种有趣的话题。在论坛里,人们之间的交流打破了空间,时间的限制。在与别人进行交往时,无须考虑自身的年龄,学历,知识,社会地位,财富,外貌,健康状况,也无从知道交谈的对方的真实社会身份。这样,参与讨论的人可以处于一个平等的位置与其他人进行任何问题的探讨。 选题研究的主要内容和技术方案:本设计要使用JSP实现一个基于浏览器的论坛系统。本设计主要实现对论坛用户的浏览、评论、管理、修改
3、等功能。(1)个人情感论坛系统的需求与可行分析。(2)个人情感论坛系统的系统分析与详细设计。(3)创建数据库,编写程序代码。(4)代码调试与测试毕业设计工作时间2014年 6月 18 日 至 2014年 10 月25日毕业设计工作日程安排时间段工作内容6月18日6月25选题确定8月17日选题上传教务管理系统9月1日-9月20日找素材、修照片9月21日-9月30日编写代码、整理数据库10月1日-10月4日完成作品设计10月5日-10月7日写论文10月25日完成毕业设计指导教师意见: 成果要求: 签字: 年 月 日 论坛BBS系统 摘要:为了方便信息的交流,在结合动态服务网页(JSP)和SQL20
4、05技术下开发了这个界面友好的业余论坛系统(个人情感论坛)。论坛基于B/S模式的BBS论坛系统,该系统采用目前流行的JSP+JavaBean+后台数据库三层架构。 该论坛为喜欢文学情感交流的网友们提供了一个交流的平台,在这里用户可以自由地发表自己的观点和对论坛的主题帖子发表自己的看法,还可以及时的解决网友提出的问题,获得对自己有用的知识。此外,为了记录主题的发表者和主题的回复者信息,系统还需要提供用户注册和登录的功能。只有注册的用户登录后才能够发表和回复主题,浏览者(游客)只能浏览主题信息。关键词:JSP,情感,论坛,SQL2005目 录1绪论11.1项目背景与意义11.2系统要解决的问题11
5、.3相关技术及开发环境简介11.3.1 JSP技术简介11.3.2 JAVABEAN技术简介11.3.3 SQL Server 2005数据库22需求与可行性分析32.1概述32.1.1功能需求32.1.2数据需求32.1.3技术可行性分析32.1.4操作可行性分析42.1.5法律方面的可行性分析43系统整体设计53.1系统模块结构设计53.2系统业务流程图63.3功能模块分析84数据结构设计124.1 E-R模型图124.2数据库物理模型图134.3数据库对象定义135详细设计165.1登录界面设计与代码的实现165.2注册账号的实现与代码185.3修改密码界面与代码的实现225.4主题管理
6、功能245.5版块管理功能265.6用户管理功能286系统总结316.1系统页面效果图316.1.1 登陆页316.1.2 主界面316.2个人感想317致谢338参考文献34 1绪论1.1项目背景与意义BBS的全称是Bulletin Board System,中文名称为电子公告栏系统。我们简称为论坛。是各种信息交流和传布的场所。BBS最早是用来公布股市价格等类信息的,当时BBS连文件传输的功能都没有,而且只能在苹果机上运行。早期的BBS与一般街头和校园内的公告板性质相同,只不过是通过来传播或获得消息而已。一直到开始普及之后,有些人尝试将苹果计算机上的BBS转移到个人计算机上,BBS才开始渐渐
7、普及开来。 它不同于电视杂志等传统的媒体,任何人都可以在论坛上发表自己的言论,不受任何限制。除了可以发表文字信息外还可以上传和转帖图片、视频和音乐,还可以设置文字的字体、颜色、字号,还可以选择有趣的表情图案。只要花几分钟注册你就能畅游BBS。从中获得无穷的乐趣。1.2系统要解决的问题本系统要解决网上论坛(BBS)管理的基本功能:用户注册、用户登录、浏览帖子、发表帖子、回复帖子、查找帖子、添加版块、主题管理等。管理员可以添加版主,修改版主资料,以及对帖子的管理。版主还可以修改本板块信息以及管理本版块中的帖子信息。在设计过程中要解决了JSP最常见的中文乱码问题,并针对不同平台总结出了处理乱码的方法
8、,为今后系统的移植做了铺垫。在数据库连接方面采用数据库连接池技术,数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个。1.3相关技术及开发环境简介1.3.1 JSP技术简介JSP是服务器端的脚本语言,是以Servlet为基础开发而成的动态网页生成技术7,它的底层实现是Java Servlet。JSP(JavaServerPages)技术是由Sun公司发布的用于开发动态Web应用的一项技术。JSP的特点是面向对象、跨平台、和Servlet一样稳定、可以使用Servlet提供的API,同时克服了Servlet的缺点。在众多动态Web应用程序
9、设计语言中异军突起,在短短几年中已经形成了一套完整的规范,并广泛地应用于电子商务等各个领域中。在国内,JSP现在也得到了比较广泛的重视,得到了很好的发展,越来越多的动态网站开始采用JSP技术。1.3.2 JAVABEAN技术简介JAVABean是一种JAVA语言写成的可重用组件,在开发web的时候,编写时必须实现序列化这个接口,而且变量名必须以小写字母开头,必须有一个无参数的构造方法,主要用来处理数据库和servlet之间的数据传输。1.3.3 SQL Server 2005数据库SQL Server是一个关系数据库管理系统,它最初是由Microsoft, Sybase和Ashton-Tate
10、三家公司共同开发的于1988年推出了第一个OS/2版本,在Windows NT 推出后,Microsoft与Sybase在SQL Server的开发上就分道扬镳了,Microsoft将SQL Server移植到Windows NT系统上专注于开发推广SQL Server的Windows NT版本,Sybase则较专注于SQL Server在UNIX操作系统上的应用。Microsoft SQL Server以后简称为SQL Server或MS SQL Server。 随着信息技术的发展,计算机处理数据的方式也发生着变化,从文件管理系统发展到数据库管理系统。Microsoft SQL Server
11、是一个分布式的关系型数据库管理系统,具有客户机/服务器体系结构,采用了Transact-sql的SQL语言在客户机与服务器间传递客户机的请求与服务器的处理结果10。 众所周知,SQL Server能够满足今天的商业环境要求不同类型的数据库解决方案。它一种应用广泛的数据库管理系统,具有许多显著的优点:易用性、适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性价比等。性能、可伸缩性及可靠性是基本要求,而进入市场时间也非常关键。 除这些SQL Server的优点外,SQL Server还为您的数据管理与分析带来了灵活性,允许单位在快速变化的环境中从容
12、响应,从而获得竞争优势。从数据管理和分析角度看,将原始数据转化为商业智能和充分利用Web带来的机会非常重要。作为一个完备的数据库和数据分析包,SQL Server为快速开发新一代企业级商业应用程序、为企业赢得核心竞争优势打开了胜利之门。作为重要的基准测试可伸缩性和速度奖的记录保持者,SQL Server是一个具备完全Web支持的数据库产品,提供了对可扩展标记语言 (XML)的核心支持以及在Internet上和防火墙外进行查询的能力。2需求与可行性分析2.1概述软件的需求分析是软件制作人在制作项目之前对客户的要求、项目所要达到的功能、运行的环境等所做的分析 。这个步骤是对用户业务需求的一个升华,
13、是一个用户业务管理流程优化,转化为软件产品,从而提升管理而实现的质的飞跃,这一步是否成功,直接关系到开发出来的软件产品能否得到用户认可,顺利交付给客户,客户能否真正运用我们的产品帮助他解决业务或管理问题。可行性分析也称为可行性研究,是在调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会等方面进行分析和研究,以避免投资失误,保证新系统的开发成功,减少项目的开发风险,避免人力、物力和财力的浪费。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。下面将分别从技术、经济、法律和操作这四个方面对论坛BBS系统的建设进行分析和研究。2.1.1功能需
14、求为了系统的个模块能够正常使用、系统更加人性化,还为了满足系统的实用性及安全性,本系统对角色进行了详细的划分。游客的各项功能:游客可以浏览论坛,可以看帖,不能发帖等。只有注册了成为本论坛会员以后,才可以执行用户功能。用户的各项功能:一旦成为本论坛用户可以拥有以下功能:1、用户登录 2、发贴 3、查看帖子 4、回帖 5、修改个人资料。 管理员的各项功能:1、添加新的版主 2、添加版块 3、添加主题 4、管理帖子 5、管理版主。 版主的各项功能: 1、修改本版块 2、查看用户信息 3、查看帖子 4、管理本版块的帖子2.1.2数据需求用户必须注册后再登录进入系统,系统用户的数据包括用户名、用户密码、
15、用户类型。用户名在整个系统中是唯一的。用户浏览帖子时,数据应当包括用户名、帖子主题。用户根据某一主题可以发表帖子,发表帖子需要的数据包括用户名、Email、版块分类名、发表帖子标题、发表帖子内容。用户回复帖子的数据包括用户名、Email、回复帖子序号、回复的内容、版块分类名。管理员进入后台管理时,需要数据包括管理员ID、管理员密码。 版主进去后台管理时,需要的数据包括版主名、版主密码。2.1.3技术可行性分析系统采用JSP+JAVABEAN+SQL2005进行编写而成。是一种常见的编写方式,极易上手,且便于修改。根据论坛BBS系统功能、性能及实现系统的各种约束条件,根据新系统目标来衡量所需的技
16、术是否具备,现有的技术已较为成熟,硬件、软件的性能要求、环境条件等各项条件良好,不同平台间与论坛功能的适用是没有影响的。且能够在预期时间内完成编写。一次编写长久使用。具有很好的可控性和灵活行。2.1.4操作可行性分析论坛系统的界面简洁、容易操作。让即使略懂电脑的初学者也能通过系统的导航条进行操作。上手快,实践能力强。管理员的权限最大,对用户、帖子都有管理权限,并且分配给用户权限。从而实现对论坛的统一管理。本系统具有相当强的可扩展性和可维护性。易于推广,使更多的人参与进论坛。2.1.5法律方面的可行性分析此系统由个人开发,符合中国合同法。对于词汇书、词典等资料的使用,涉及版权的问题,但通过和相应
17、出版商协商解决。由于现有知识的有限性,对源代码的保护从技术上无法保证。但通过法律手段,规定使用者不可以透露原代码或者程序供第三方使用。由于市面上存在很多类似软件,很容易出现侵权问题。这点法律上给了我们很大的保障。3系统整体设计3.1系统模块结构设计论坛BBS系统的主要功能模块及其关系如图3-1所示:图3-1功能模块图3.2系统业务流程图注册会员业务流程图,如图3-1:图3-1 会员注册(2)会员登录业务流程图,如图3-2:图3-2 会员登录(3)会员管理业务流程图,如图3-3:图3-3 会员管理(4)论坛版块管理业务流程图,如图3-4:图3-4 版块管理(5)帖子发表业务流程图,如图3-5:图
18、3-5 发表帖子3.3功能模块分析表3-1 注册编 码:SYBBS_J_001名 称:注册简 述:为不是本论坛的用户申请登录账号。前置条件:无输 入:用户名、密码、邮箱、验证码。处理逻辑:1、用户单击“注册”链接2、系统显示注册页面3、用户输入用户信息(用户名、密码、邮箱、验证码)4、用户单击“注册”按钮5、系统记录保存用户信息输 出:成功:显示注册成功信息,转到登录成功页面。失败:显示注册失败信息,停留在注册页面。表3-2登录编 码:SYBBS_J_002名 称:登录简 述:为本论坛的用户登录账号。前置条件:为系统注册成功的用户。输 入:用户名、密码、邮箱。处理逻辑:1、用户单击“登录”链接
19、2、系统显示登录页面3、用户输入用户信息(用户名、密码、邮箱)4、用户单击“登录”按钮5、系统记录保存用户信息输 出:成功:显示登录成功信息。失败:显示登录失败信息。表3-3 用户管理编 码:SYBBS_J_003名 称:添加用户简 述:为系统添加新的用户。前置条件:用户已经登录、具有超级管理员权限。输 入:用户信息(用户名、密码、邮箱)处理逻辑:1、用户单击“添加”用户按钮2、系统显示“添加用户”页面3、输入用户信息(用户名、密码、邮箱)4、用户单击“保存”按钮5、系统记录保存用户信息输 出:成功:跳转到用户列表页面。失败:停留在添加用户页面,显示失败信息。表3-4 主题管理编 码:SYBB
20、S_J_004名 称:添加主题简 述:为系统添加新的主题。前置条件:用户已经登录、具有超级管理员权限。输 入:用户信息(用户名、密码、邮箱)处理逻辑:1、用户单击“添加”主题按钮2、系统显示“添加主题”页面3、输入用户信息(用户名、密码、邮箱)4、用户单击“保存”按钮5、系统记录保存主题信息输 出:成功:跳转到主题列表页面。失败:停留在添加主题页面,显示失败信息。表3-5 版块管理编 码:SYBBS_J_005名 称:添加版块简 述:为系统添加新的版块。前置条件:用户已经登录、具有超级管理员权限。输 入:用户信息(用户名、密码、邮箱)处理逻辑:1、用户单击“添加”版块按钮2、系统显示“添加版块
21、”页面3、输入用户信息(用户名、密码、邮箱)4、用户单击“保存”按钮5、系统记录保存版块信息输 出:成功:跳转到版块列表页面。失败:停留在添加版块页面,显示失败信息。表3-6 发帖编 码:SYBBS_J_006名 称:发帖简 述:用户发表自己的帖子。前置条件:用户已经登录。输 入:帖子内容(名称、内容、发布人、发布时间)处理逻辑:1、检查用户是否登录,若未登录,让用户登录2、用户选择帖子所属版块3、用户输入帖子内容(名称、内容、发布人、发布时间)4、用户单击“发帖”按钮5、系统记录保存用户发帖信息4、用户单击“保存”按钮5、系统记录保存版块信息输 出:成功:显示所发的帖子页面。失败:停留在发帖
22、页面,并显示错误信息。表3-7 回帖编 码:SYBBS_J_007名 称:回帖简 述:用户回复帖子。前置条件:用户已经登录。输 入:帖子内容(名称、内容、发布人、发布时间)处理逻辑:1、检查用户是否登录,若未登录,让用户登录2、用户输入帖子内容(名称、内容、发布人、发布时间)3、用户单击“回帖”按钮4、系统记录保存用户回帖信息输 出:成功:显示所回复的帖子页面。失败:停留在回帖页面,并显示错误信息。表3-8 删帖编 码:SYBBS_J_008名 称:删帖简 述:用户删除自己的帖子。前置条件:用户已经登录。输 入:无处理逻辑:1、检查用户是否登录,若未登录,让用户登录2、选择需要删除的帖子内容(
23、名称、内容、发布人、发布时间)3、用户单击“删除”按钮4、系统从数据库删除发帖的信息输 出:成功:以弹出窗口显示删除帖子成功信息,刷新帖子列表页面。失败:停留在删帖列表页面,以弹出窗口显示失败信息。表3-9 浏览帖子编 码:SYBBS_J_009名 称:浏览帖子简 述:根据用户的选择浏览相应的帖子前置条件:无输 入:无处理逻辑:1、用户点击“浏览”按钮2、系统显示相应的帖子信息,并以列表的方式显示输 出:成功:显示浏览的帖子列表。失败:未能显示帖子信息。4数据结构设计4.1 E-R模型图用户个人情感论坛E-R模型图如下所示:图4-1 论坛E-R模型图4.2数据库物理模型图图4-2 数据库物理模
24、型图4.3数据库对象定义表4-1 数据库对象定义序号对象名对象代码名备注1用户User用户信息2主题Subject以公共课和各专业为主题3版块Section以课程为版块4帖子Post用户发布的帖子5回帖Replies用户回复的帖子用户:表4-2 用户表名用户表代码名User序号字段名字段代码名数据类型主键是否为空备注1标识idchar(36)是否2用户名namevarchar(30)否3密码passwordvarchar(30)否4用户类型typechar(1)是主题:表4-3 主题表名主题表代码名Subject序号字段名字段代码名数据类型主键是否为空备注1标识idchar(36)是否2名称n
25、amevarchar(100)否版块:表4-4 版块表名版块表代码名Section序号字段名字段代码名数据类型主键是否为空备注1标识idchar(36)是否2主题subjectchar(36)是外键,引用主题表(subject)中的标识(id)字段3名称namevarchar(100)否4版主moderatorchar(36)是外键,引用用户表(User)中的标识(id)字段帖子:表4-5 帖子表名帖子表代码名Post序号字段名字段代码名数据类型主键是否为空备注1标识idchar(36)是否2版块sectionchar(36)是外键,引用用户表(User)中的标识(id)字段3标题titlev
26、archar(100)否4内容contenttext是5发帖用户postUserchar(36)是6发帖时间postTimedatetime是外键,引用版块表(Section)中的标识(id)字段回帖:表4-6 回帖表名回帖表代码名Replies序号字段名字段代码名数据类型主键是否为空备注1标识idchar(36)是否2帖子postchar(36)否外键,引用用户表(User)中的标识(id)字段3内容contenttext是4回帖用户repliesUserchar(36)是5回帖时间replies timedatetime是外键,引用帖子表(post)中的标识(id)字段5详细设计5.1登录
27、界面设计与代码的实现 登录界面如图5-1所示: 图5-1登录界面登录用户名、密码进入后台管理界面的代码实现:public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException request.setCharacterEncoding(UTF-8);String userName = request.getParameter(username);String password = request.getParameter(password)
28、;String action = request.getParameter(action);try if (login.equals(action) Connection conn = DBUtil.getDBConnection();PreparedStatement ps = conn.prepareStatement(SELECT id,name,type FROM USER WHERE name=? AND password=?);ps.setString(1, userName);ps.setString(2, password);ResultSet rs = ps.executeQ
29、uery();User user;rs.next();user = new User(rs.getString(1), rs.getString(2), , rs.getString(3);if (user.getId() != null & !.equals(user.getId() request.getSession().setAttribute(user, user);if (0.equals(user.getType() request.getRequestDispatcher(/app/main2.jsp).forward(request, response); else if (
30、1.equals(user.getType() request.getRequestDispatcher(IndexServlet).forward(request, response);rs.close();ps.close(); else if (exit.equals(action) request.getSession().removeAttribute(user);request.getRequestDispatcher(IndexServlet).forward(request, response); catch (ClassNotFoundException e) e.print
31、StackTrace(); catch (SQLException e) e.printStackTrace();5.2注册账号的实现与代码注册界面如图5-2所示:图5-2注册界面代码实现: * 用户名 请注意,用户名注册后不能更改 请输入420个字符(字母、数字、下划线)的用户名,1个汉字为2个字符。请注意,用户名注册后不能更改。 * 邮箱 请输入常用邮箱,作为邮箱验证、登录、找回密码所用。 * 密码 请输入624个字符(字母、数字、符号的组合);不要单独使用字母、数字或符号;密码不能和用户名相同; * 确认密码 * 验证码 看不清,换一张 1、 服务条款的确认和
32、接纳本站服务的所有权和运作权归本站所有。所提供的服务必须按照其发布的公司章程,服务条款和操作规则严格执行。2、 服务简介考虑到本站产品服务的重要性,用户同意:(1) 提供及时、详尽及准确的个人资料。(2) 不断更新注册资料,符合及时、详尽准确的要求。所有原始键入的资料将引用为注册资料。如果用户提供的资料不准确,不真实,不合法有效,本站保留结束用户使用本站各项服务的权利。用户在享用本站各项服务的同时,同意本站通过电子邮件或其他方式向用户发送有关商业信息。3、 服务修订本站保留随时修改或中断服务而不需通知用户的权利。用户接受本站行使修改或中断服务的权利,本站不需对用户或第三方负责。4、 用户隐私制
33、度对以上第二点个人注册资料分析的补充,本站认为在诚信的基础上透露这些信息在以下几种情况是必要的:(1) 遵守有关法律规定,包括在国家有关机关查询时,提供用户在本站的网页上发布的信息内容及其发布时间、互联网地址或者域名。(2) 遵从本站产品服务程序。(3) 保持维护本站的商标所有权。(4) 在紧急情况下竭力维护用户个人和社会大众的隐私安全。5、 用户的帐号、密码和安全性您一旦注册成功成为用户,您将得到一个密码和帐号。如果您未保管好自己的帐号和密码而对您、本站或第三方造成的损害,您将负全部责任。另外,每个用户都要对其帐户中的所有活动和事件负全责。您可随时改变您的密码和图标,也可以重开一个新帐户。6
34、、 有限责任本站对直接、间接、偶然、特殊及继起的损害不负责任,这些损害来自:不正当使用产品服务,非法使用服务或用户传送的信息有所变动等等情况。7、社区信息的储存及限制本站不对用户所发布信息的删除或储存失败负责。保留判定用户的行为是否符合网站虚拟社区服务条款的要求和精神的权利,如果用户违背了服务条款的规定,则中断其虚拟社区服务的帐号。8、关于网站朋友圈的功能本站提供好友邀请功能。如果用户希望建立并扩大属于自己的朋友圈,即可选择使用本产品的功能。用户只需要输入您希望邀请的朋友所在网站的用户名和密码,本站将自动替用户以即时消息或邮件的方式发送邀请给用户在这些产品上的好友。您的好友接受邀请并注册后会成
35、为您朋友圈中的好友。本站在发送完邀请信息后将不会记录您输入账号的密码。用户选择使用本功能应该预先知晓:对于您和您的朋友之间在相识、交往中所发生或可能发生的任何心理、生理上的伤害经济上的损失,均属您个人行为。本网站不承担任何责任。由于非故意及不可抗拒的原因(含系统维护和升级),导致的用户数据损失、服务停止,本网站不必承担赔偿及其他连带的法律责任。9、 用户管理用户单独承担发布内容的责任。用户对服务的使用是根据所有适用于服务的地方法律、国家法律和国际法律标准的。用户承诺:(1) 在本站的社区上发布信息或者利用本站的服务时必须符合中国有关法规,不得利用本站的服务制作、复制、发布、传播以下信息: (a
36、) 反对宪法所确定的基本原则的; (b) 危害国家安全,泄露国家秘密,颠覆国家政权,破坏国家统一的; (c) 损害国家荣誉和利益的; (d) 煽动民族仇恨、民族歧视,破坏民族团结的; (e) 破坏国家宗教政策,宣扬邪教和封建迷信的; (f) 散布谣言,扰乱社会秩序,破坏社会稳定的; (g) 散布淫秽、色情、赌博、暴力、凶杀、恐怖或者教唆犯罪的; (h) 侮辱或者诽谤他人,侵害他人合法权益的; (i) 含有法律、行政法规禁止的其他内容的。(2) 在本站的社区上发布信息或者利用本站的服务时还必须符合其他有关国家和地区的法律规定以及国际法的有关规定。(3) 以任何方式干扰本站的服务。用户需对自己在使用本站服务过程中的行为承担法律责