




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
I 摘 要 当今 随着网络的迅速发展 制作 BBS 论坛的技术和方法也越来越多 本文主要讲 述利用 Java Web 的相关技术来制作一个简单论坛 通过实际制作 实现了 BBS 论坛系统 应有的一些基本功能 如 登陆功能 通过在登陆界面输入用户名和密码来实现会员的 登录 用户只有登录成功了才能进行一系列的操作 注册功能 用户首次登陆 需要先 注册 注册时需要用户填写个人信息 找回密码功能 当用户忘记密码时可以通过此功 能找回密码 找回密码时需要用户记得注册时填写的个人信息 除此之外 还有浏览帖 子 发表帖子 回复贴子以及删除帖子等等功能 制作本论坛所用的前台软件是 MyEclipse 后台数据库是 MySQL 运行时所用的服务器是 Tomcat 综合运用了 HTML JSP 以及 JavaScript 语言 全文先对用到的软件进行了简单的介绍 然后依次对系统的应用进行需求分析 总体设 计 详细设计 最后简要介绍了系统的发布和测试 关键词 关键词 BBS 论坛 JSP 技术 登陆 注册 找回密码 浏览贴子 发表帖子 回复贴子 删除帖子 II 目 录 第一章第一章引引 言言 1 1 第二章第二章需求分析需求分析 2 2 第三章第三章总体总体设计设计 4 4 第四章第四章详细设计与实现详细设计与实现 7 7 第五章第五章系统测试系统测试 1515 结结 论论 1616 参考文献参考文献 1616 大连交通大学软件实践 1 第一章第一章 引引 言言 BBS 的英文全称是 Bulletin Board System 翻译为中文就是 电子公告板 BBS 最早是用来公布股市价格等类信息的 当时 BBS 连文件传输的功能都没有 而且只能在 苹果计算机上运行 早期的 BBS 与一般街头和校园内的公告板性质相同 只不过是通过 电脑来传播或获得消息而已 一直到个人计算机开始普及之后 有些人尝试将苹果计算 机上的 BBS 转移到个人计算机上 BBS 才开始渐渐普及开来 BBS 最初是为了给计算机 爱好者提供一个互相交流的地方 70 年代后期 计算机用户数目很少且用户之间相距很 远 因此 BBS 当时全世界一共不到一百个站点 提供了一个简单方便的交流方式 用户通过 BBS 可以交换软件和信息 到了今天 BBS 的用户才扩展到各行各业 花样非 常多 BBS 论坛是一种比较好的交流平台 他能方便人们进行即时在线交流 发表各种信 息 实现网络资源的共享 而且 也能促使人们敞开心扉去学习知识 追求进步 以至 于能更好的利用网络资源 鉴于 BBS 的这些优点 又加之制作 BBS 的一些基本知识我曾学习过 如 Java 程序 设计 JSP 网页制作 以及 MyEclipse6 0 基础教程 这些书我都看过或自学过 考虑到个人喜好 所以最后我决定选择 Java Web 开发 BBS 论坛制作 这个题目作为 我毕业论文 同时也能积累一点开发 Java 小项目的经验 达到锻炼自己在这方面能力 的目的 我将采用基于 JSP 网页技术的方法进行简单的 BBS 论坛制作 我所用的开发软件是 MyEclipse6 0 它是一款可以做基础 Java 项目开发的工具 JDK1 6 当前进行 Java 开 发的最新版本 数据库是 MySQL 它是一款当前比较流行的进行中小量数据开发的中小 型数据库 服务器是 Tomcat6 0 它也是一款当前比较流行的软件 主要用于网络服务 器的开发 这些东西对一个搞 Java 开发的人来说应该是很普遍的 因此 无论在技术 还是软件上都应该可以实现的 大连交通大学软件实践 2 第二章第二章 需求分析需求分析 作为一个 BBS 论坛 它应该具有 BBS 所有的一些基本功能 包括 用户登陆功能 用户取回密码功能 用户浏览帖子的功能以及用户发表 回复 修改和删除帖子的功能 等 接下来 我将详细阐述一下这些功能 一 用户登录和注册功能 进入登录页面后 对于第一次登陆的用户来说 首先需要注册 单击 新用户注册 按钮即可进入注册界面 注册完成后返回登录界面 输入用户名和密码 点击 登录 按钮 系统即将用户名和密码发送到网络服务器上 与保存在服务器数据库中的信息进 行核对 若核对正确 则进入帖子浏览的界面 若不正确 则重新返回登录界面 二 用户找回密码功能 在有些时候 我们可能会忘记登录密码 这时就用到了密码找回功能 通过正确 的回答当初注册时的一些信息即可取回密码 三 用户帖子的浏览 当用户登录成功后便进入该页面 在该页面可以浏览他人已经发表的主题帖子 1 帖子的总览 在主题页面中主要有两部分组成 一是用户的个人信息 再就是他人已经发表的主 题帖子 每个帖子都包含了一些简单信息 主题 作者和时间 鼠标单击主题便进入了 下一页面 该帖的详细内容页面 2 查看特定帖的详细信息 详细内容页面主要包含了该帖的详细内容和他人对此帖的回复 点击 我要回复 便可回复此贴 四 用户帖子的发布 修改 删除 回复功能 用户成功登陆后 可以进行一些操作 如发表帖子 删除自己发表的帖子 回复他 人或自己的帖子等 1 帖子的发布 大连交通大学软件实践 3 登陆成功进入主题页面后 点击 发表新的主题文章 按钮后 便可进入发表帖子 的界面 在该页面中填写完信息 点击 发送新的主题 点击 我要回复 按钮便 可对该贴进行回复 如要想对其他回复此贴的人进行回复 可以点击回复人后面的 回 复 XX 楼 按钮对其进行回复 2 帖子的删除 在主题帖子页面中 每幅帖子的最左面都有一个删除按钮 点击此按钮便可删 除你所发表的帖子 每个用户 除管理员外 只可删除自己的帖子 五 管理员对帖子的查看 发表 删除功能 1 管理员查看或发表帖子 管理员查看或发表帖子与普通用户的一样 2 管理员删除帖子 管理员删除帖子与普通用户的区别在于 他可以删除任何人发表的贴子 另外他还 有一项特权 就是可以删除任何人回复的垃圾帖子 大连交通大学软件实践 4 第三章第三章 总体设计总体设计 一 系统结构设计 本 BBS 论坛系统共分为三大功能模块 1 登陆管理功能系统 2 注册功能系统 3 找回密码功能系统 登陆管理功能系统 又包括四个子模块 单纯的用户登录模块 用户发表帖子模块 用户回复他人帖子模块和用户删除自己所发表的帖子模块 1 各个页面的功能及示意图 有两个页面用于基本功能的实现 被其它页面所调用 页面名称主要功能 Opendata jsp打开数据库链接用于实现基本功 能Convert jsp用于字符的转换 其余的页面如下表所示 各个模块页面名称页面功能 开始登陆的界 面 Login html系统启动时的首页 Enter jsp用于判断用户名和密码是否正确 MainForm jsp登陆成功后转入该页面 Discuss jsp浏览主题帖子的页面 在这可以查看各类帖 子 Person jsp显示个人信息的页面 NewTitle jsp发表新的主题帖子的页面 SaveNewTitle jsp将新发表的帖子存入数据库表 Discuss 中 Detail jsp用于显示帖子的内容及回复该帖的内容 SaveRevert jsp将回复内容存入数据库表 Reply 中 登录管理 功能系统 Delete jsp用于删除帖子 大连交通大学软件实践 5 Register jsp该界面用于新用户注册 注册功能系统 SaveRegister jsp保存新用户注册信息到数据库表 Student 中 找回密码功能 系统 GetPassword jsp用于用户找回密码 2 各个页面之间的调用关系 各个页面之间的调用关系如下图所示 注意 其中有两个基本页面 Convert jsp 和 Opendata jsp 被其它的页面所引 用 在此图中并没有包含这两个页面 二 数据库设计 根据本 BBS 论坛功能的要求以及功能模块的划分 本信息数据库可存放在三个表中 它们是 用户信息数据库表 Student 发表的帖子的数据库表 Discuss 和回复的帖子的 数据库表 Reply 数据库表的具体设计如下所示 1 用户信息表 Student 表名 Student 用户信息表 Student 包括八个字段 即 ID 用户的标识符 USERNAME 用户名 PASSWORD 用户密码 SEX 性别 AGE 年龄 BIRTH 生日 TELEPHONE 联系电话 EMAIL 电子邮箱 等 2 存储帖子所用的信息表 DISCUSS 表名 DISCUSS 大连交通大学软件实践 6 信息表 DISCUSS 包括七个字段 即 NAME 发帖人的昵称 EMAIL 电子邮箱 SUBJECT 帖子的主题 CONTENT 帖子的内容 TIME 发帖的时间 USERNAME 用户名 ID 帖子的标识 等 3 存储回复帖子的信息表 REPLY 表名 REPLY 信息表 REPLY 包括五个字段 即 NAME 回帖人的昵称 CONTENT 回帖的内容 TIME 回帖的时间 REPLY 所回复的主贴的标识符 ID 回复贴的标识符 等 大连交通大学软件实践 7 第四章第四章 详细设计与实现详细设计与实现 一 建立数据库及数据库表 建立一个数据库 Test 和三个数据库表 STUDENT DISCUSS 和 REPLY 首先在 MyEclipse6 5 软件里配置 MySQL5 0 配置完成后在 MyEclipse 界面里建立 名为 Test 的数据库 然后再建立三个数据库表 STUDENT DISCUSS 和 REPLY 创建表 student stmt executeUpdate create table student id int not null auto increment username varchar 20 unique password varchar 20 not null sex varchar 8 not null age varchar 4 birth varchar 20 not null telephone varchar 12 email varchar 40 not null primary key id 创建表 discuss stmt executeUpdate create table discuss name char 20 not null email char 40 not null subject char 60 not null content text not null time char 40 username char 20 id int not null auto increment primary key id 创建表 reply stmt executeUpdate create table reply name char 20 not null content text not null time char 40 reply int id int not null auto increment primary key id 二 用户登录功能的实现 1 登陆功能的实现 大连交通大学软件实践 8 通过 Login html 界面传递参数 username 和 password 给 Enter jsp 界面 然后查 询数据库 判断用户名和密码是否正确 若判断正确则为用户建立一个 session 并进 入了用户主界面 三 浏览主题帖子功能的实现 1 翻页功能的实现 在这里可以实现翻页功能 根据你的实际需求进行选择 程序为 lastPage pageNO lastPage firstNum pageNO 1 MaxNum 1 lastNum pageNO MaxNum if pageNO 1 prePage 1 else prePage pageNO 1 if pageNO lastPage nextPage pageNO else nextPage pageNO 1 sql select from discuss where id between firstNum and lastNum rs stm executeQuery sql 四 主题帖子详细内容页面的制作 通过 Discuss jsp 页面传递参数 ID 然后进行数据库查询获得帖子的详细信息 并显示的页面上 五 在帖子详细内容页面里实现回复功能 在 Detail jsp 页面里实现回复功能 让用户可以在同一页面实现浏览贴子 回复 帖子和浏览别人回复的帖子的功能 1 SaveRevert jsp 页面中的代码 此页面的功能保存由Detail jsp页面传来的回帖信息 保存次信息到Reply数据库 表中 六 用户发表新帖子页面的制作 1 SaveNewTitle jsp 页面用于保存由 NewTitle jsp 页面传来的数据信息 首先将传递来的数据进行转换 然后将其插入数据库 Discuss 中 七 新用户注册功能的实现 大连交通大学软件实践 12 SaveRegister jsp 用于保存新用户的信息 这些信息是由 Register jsp 页面传递 而来 首先判断用户名是否已被注册过了 若被注册过则提示已注册 String username request getParameter username String password request getParameter password String sex request getParameter sex String age request getParameter age String year request getParameter year String month request getParameter month String day request getParameter day String telephone request getParameter telephone String email request getParameter email String msg null username convert username sql select from student where username username rs stm executeQuery sql 查询数据库 if rs next 如果不存在 sex convert sex age convert age String birth birth year 年 month 月 day 日 sql insert into student username password sex birth age telephone email values username password sex birth age telephone email stm executeUpdate sql 插入数据库中 msg 恭喜你 已注册成功 response sendRedirect login html else 如果注册用户已存在 msg 你所注册的用户已经存在 请你重新注册 out println 提示信息 out println 八 用户取回密码功能的实现 大连交通大学软件实践 13 GetPassword jsp 页面用于取回密码 给该页面传递一些用户填写的信息 将该用 户注册时的对应信息与此信息进行比较 当该信息与用户注册时填写的一样时 便能取 回密码 否则不能 if request getParameter username null username 用户名 String sex request getParameter sex String email request getParameter email username convert username sex convert sex email convert email sql select from student where username username and sex sex and email email rs stm executeQuery sql 从数据库中查找对应信息 if rs next 如果找到 String password rs getString 3 String errmsg 正确的填写信息 你的密码为 out println 提示信息 errmsg password out println else String errmsg 对不起 你暂时还不能取回你的密码 原因是你没能 正确的填写信息 out println 提示信息 errmsg out println 九 用户和管理员删除帖子功能的实现 大连交通大学软件实践 14 Delete jsp 页面用于删除帖子 在此页面获得两个参数 id 和 replyid 其中 id 为帖子的标识符 replyid 为是否是回帖 当 replyid 0 时表示要删除的是回复贴 否 则 当 replyid 0 即等于 0 时表示要删除主帖 0 当 replyid 0 时表示要删除的是回复贴 if session getValue username equals TongYong sql update reply set content 此回复已被删除 where reply id and id replyid stm executeUpdate sql response sendRedirect detail jsp id id else 否则 当 replyid 0 时表示要删除主帖 sql select from discuss where username session getValue username rs stm executeQuery sql if rs next session getValue username equals TongYong sql delete from discuss where id id stm executeUpdate sql sql alter table discuss drop id stm executeUpdate sql sql alter table discuss add id int not null auto increment primary key stm executeUpdate sql response sendRedirect discuss jsp 大连交通大学软件实践 15 第五章第五章 系统测试系统测试 MyEclipse 支持发布 Web EJB 和 Enterprise Application 项目到任何 MyEclipse 支持的服务器上 它支持散包和打包发布 目前来说 Tomcat 和 JBoss 都是 支持散包发布的 散包发布一般是开发时候来使用 MyEclipse 会把所有的文件按照 Java EE 规定 的目录结构放在服务器的发布目录下 在这种情况下 MyEclipse 还会自动把修改过的 文件 例如 JSP 文件 类文件等等复制过去 实现自动同步功能 这时修改了 JSP 页 面不需要重新发布就能在浏览器里刷新后看到新的结果 这样对开发来说是非常方便的 本论坛的发布测试分三步完成 1 散包发布 BBSTalk 项目 BBSTalk 项目文件夹下包含了类库文件及资源文件 其中 src 文件夹下包含一个 Java 文 件 JDBC BBS java 用于创建数据库表 WebRoot 文件夹下存放了所有的 jsp 页面 其 下的 Pictures 文件夹存放了页面制作所需的图片 2 启动 Tomcat 服务器 在 MyEclipse 界面下点击按钮 在下拉菜单中选择 Tomcat5 x 服务器并单击 开始 按钮启动服务器 若启动成功显示以下信息 3 打开 IE 浏览器进行测试 BBSTalk 发布完且 Tomcat 服务器开启后
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024安徽芜湖市湾沚区殡仪馆招聘7人笔试备考题库附答案详解(精练)
- 钢塑复合管道安装技术与施工规范
- 2021年高考真题湖北卷物理试题(解析版)
- 2022届安徽省蚌埠市高三第三次教学质量检查(三模)理综化学试题
- 风筝乐园里有趣的修辞用法讲解:三年级语文教学设计
- 企业绩效考评结果及改进计划跟踪表
- 脑血管病凝血机制研究-洞察及研究
- 施工项目报验资料准备指南
- 小学自然教育主题教案及活动设计
- 音乐学院乐理三级考核模拟试题
- 装修保养手册大全
- GB/T 16400-2023绝热用硅酸铝棉及其制品
- 青岛工学院ppt模板
- 圆形截面偏心受压构件承载能力及裂缝验算(普通钢筋砼)
- 剖宫产疤痕憩室的诊断和治疗【妇产科】
- 麻醉学科建设与管理
- 某电子公司组织结构及岗位职能详解
- 矿山越界采矿调查报告样板(19.05)
- 泵与风机课堂版
- 成都某市政道路竣工总结及工程质量自评报告
- 雾都孤儿读书笔记3000字(三篇)
评论
0/150
提交评论