1、 扬 州 市 职 业 大 学毕 业 设 计 说 明 书设 计 ( 论 文 ) 题 目 : BBS论 坛 系 别 : 信 息 工 程 学 院 专 业 : 网 络 技 术 姓 名 : 何 小 敏 学 号 : 110705143 指 导 教 师 : 严 双 林 完 成 时 间 : 2014.5 月 摘 要摘 要 随 着 网 络 在 现 代 社 会 中 的 广 泛 应 用 及 当 今 社 会 快 节 奏 的 发 展 , 人 们 越来 越 需 要 一 个 平 台 来 进 行 分 享 并 交 流 相 应 的 资 讯 信 息 。 现 在 有 各 种 的 论 坛网 站 等 系 统 来 实 现 人 们 的 这
2、一 需 要 , 获 得 有 益 信 息 并 与 他 人 进 行 交 流 , 以方 便 人 个 扩 展 知 识 层 面 。论 文 中 主 要 阐 述 了 论 坛 网 站 的 开 发 过 程 。 介 绍 了 开 发 论 坛 网 站 的 环 境及 技 术 , 同 时 详 细 的 叙 述 了 设 计 的 思 想 及 流 程 , 说 明 了 数 据 库 的 建 立 思 想以 及 与 程 序 之 间 的 关 联 等 问 题 。 说 明 了 网 站 不 同 功 能 的 实 现 方 法 及 详 细 设计 过 程 。该 课 题 主 要 的 工 作 是 对 论 坛 网 站 的 主 要 功 能 进 行 设 计 与
3、实 现 , 实 现 用户 浏 览 帖 子 , 发 表 及 回 复 论 坛 帖 子 的 功 能 以 及 系 统 管 理 员 对 后 台 的 管 理 功能 , 如 删 除 帖 子 和 用 户 信 息 , 对 用 户 权 限 的 设 置 。 主 要 作 用 是 通 过 发 表 新帖 并 回 复 他 人 帖 子 来 实 现 信 息 交 流 。 此 文 章 中 首 先 对 整 个 系 统 功 能 进 行 详细 的 分 析 与 设 计 ; 其 次 采 用 SQL Server 数 据 库 技 术 实 现 对 系 统 中 涉 及 的 数据 信 息 进 行 管 理 , 最 后 利 用 JSP 技 术 进 一
4、步 具 体 实 现 论 坛 网 站 各 项 功 能 ,并 用 Tomcat 作 为 服 务 器 支 持 其 运 行 。 运 行 调 试 确 保 网 站 的 正 常 工 作 。网 站 设 计 在 Windows XP 操 作 系 统 环 境 下 , 构 建 JSP 技 术 的 运 行 环 境JDK+Tomcat, 并 通 过 运 用 Java 嵌 入 式 语 言 实 现 动 态 的 , 交 互 的 web 服 务 器运 行 程 序 , 实 现 论 坛 网 站 的 基 本 功 能 。关 键 词 : 论 坛 网 站 ; JSP 技 术 ; SQL 数 据 库目 录目 录摘 要 .IABSTRACT.
5、II目 录 .III第 1 章 引 言 .11.1 课 题 的 研 究 目 的 和 意 义 .11.2 国 内 外 发 展 状 况 .11.3 研 究 内 容 及 目 标 .2第 2 章 开 发 方 法 及 关 键 技 术 简 介 .42.1 开 发 工 具 与 运 行 环 境 .42.2 主 要 问 题 及 解 决 手 段 .52.3 关 键 技 术 简 介 .62.3.1 JSP 技 术 .62.3.2 SQL Server 数 据 库 技 术 .72.3.3 B/S 结 构 .92.3.4 Tomcat 技 术 .9第 3 章 总 体 设 计 .113.1 系 统 机 构 设 计 .11
6、3.2 功 能 设 计 .123.3 数 据 库 设 计 .13第 4 章 详 细 设 计 .174.1 前 台 管 理 模 块 实 现 .174.1.1 用 户 注 册 登 陆 .174.1.2 用 户 发 帖 回 帖 .224.1.3 用 户 传 载 资 料 .274.2 后 台 管 理 模 块 实 现 .324.2.1 管 理 员 管 理 .324.2.2 论 坛 分 类 管 理 .344.2.3 用 户 权 限 管 理 .364.2.4 论 坛 帖 子 管 理 .38目 录4.2.5 密 码 修 改 .39第 5 章 结 论 .40参 考 文 献 .41致 谢 .43引 言0第 1 章
7、 引 言1.1 课 题 的 研 究 目 的 和 意 义随 着 计 算 机 技 术 的 不 断 发 展 与 提 高 , 人 们 深 刻 的 认 识 到 了 其 强 大 的 功 能 及 在现 代 社 会 中 的 各 个 领 域 发 挥 着 无 可 替 代 的 重 要 的 作 用 。 其 中 计 算 机 网 络 技 术 更 是得 到 了 充 分 的 应 用 , 然 而 在 网 站 设 计 中 Web 数 据 库 技 术 已 然 成 为 最 为 广 泛 应 用 的网 站 架 构 的 基 础 技 术 , 网 络 提 供 了 用 户 与 用 户 之 间 通 信 交 流 的 有 效 手 段 。 利 用 JS
8、P技 术实 现 Web 服 务 器 与 数 据 库 的 连 接 , 完 成 对 网 站 信 息 的 查 询 与 处 理 。由 于 网 络 具 有 传 播 信 息 容 量 大 , 形 态 多 样 , 迅 速 方 便 且 自 由 交 互 的 特 点 , 其已 发 展 成 为 新 的 传 播 媒 体 及 交 互 平 台 。 目 前 就 有 很 多 不 同 形 式 的 网 站 提 供 人 们 共享 资 讯 , 而 论 文 中 目 的 是 介 绍 运 用 JSP 技 术 设 计 并 实 现 论 坛 网 站 的 功 能 。 构 建 一个 交 流 平 台 通 过 互 联 网 使 用 户 和 用 户 之 间
9、可 以 进 行 交 流 , 分 享 各 种 信 息 ; 同 时 也可 以 通 过 网 络 提 出 所 遇 到 的 各 种 问 题 等 待 他 人 的 解 答 , 并 彼 此 认 识 , 交 流 扩 大 知识 。设 计 实 现 论 坛 网 站 的 主 要 意 义 在 于 : 首 先 , 现 今 JSP 在 网 站 设 计 方 面 有 着 突出 的 优 势 , 因 此 有 必 要 掌 握 并 熟 练 应 用 JSP 动 态 网 页 设 计 技 术 ; 其 次 , 通 过 数 据库 与 Web 服 务 器 连 接 来 对 网 站 数 据 进 行 管 理 , 掌 握 不 同 环 境 的 关 联 与 应
10、 用 ; 最 后 ,随 着 网 络 的 发 展 及 人 们 对 知 识 信 息 的 需 求 不 断 提 升 , 网 络 已 成 为 不 可 忽 视 的 资 讯来 源 , 而 论 坛 网 站 便 能 满 足 这 个 要 求 。引 言11.2 国 内 外 发 展 状 况Java Server Pages(JSP)是 一 种 基 于 web 的 脚 本 编 程 技 术 , 类 似 于 网 景 公 司 的服 务 器 端 Java 脚 本 语 言 server-side JavaScript(SSJS)和 微 软 的 Active Server Pages( ASP) 。 JSP 比 SSJS 和 AS
11、P 具 有 更 好 的 可 扩 展 性 , 并 且 他 不 专 属 于任 何 一 家 厂 商 都 可 以 在 自 己 的 系 统 上 实 现 JSP。JSP( Java Server Pages) 是 由 Sun Microsystems 公 司 倡 导 、 许 多 公 司 参 与一 起 建 立 的 一 种 动 态 网 页 设 计 标 准 。 其 在 动 态 网 页 的 建 设 中 尤 其 强 大 而 特 别 的 功能 。 JSP 与 Microsoft 的 ASP 技 术 非 常 相 似 。 两 者 都 提 供 在 HTML 代 码 中 混 合 某 种程 序 代 码 、 有 语 言 因 情
12、节 是 执 行 程 序 代 码 的 能 力 。 而 事 实 证 明 , Java Servlet 是一 种 开 发 Web 应 用 的 理 想 构 架 。 JSP 以 Servlet 技 术 为 基 础 , 又 在 许 多 方 面 做 了改 进 。 JSP 页 面 看 起 来 像 普 通 HTML 页 面 , 但 它 允 许 潜 入 执 行 代 码 , 在 这 一 点 上 ,它 和 ASP 技 术 非 常 相 似 。 但 是 , 利 用 跨 平 台 运 行 的 JavaBean 组 件 , JSP 为 分 离 处理 逻 辑 与 显 示 样 式 提 供 了 卓 越 的 解 决 方 案 。1.3
13、研 究 内 容 及 目 标要 求 达 到 的 目 标 是 能 够 普 通 用 户 的 注 册 登 录 , 并 在 论 坛 网 站 中 自 由 发 表 新 帖及 浏 览 回 复 他 人 发 表 的 帖 子 , 用 户 可 对 个 人 信 息 的 进 行 修 改 ; 管 理 员 对 论 坛 帖 子信 息 、 主 题 信 息 、 用 户 信 息 及 权 限 的 管 理 。课 题 主 要 研 究 并 实 现 的 内 容 有 如 下 几 方 面 :(1)数 据 存 储 与 数 据 库 描 述由 于 论 坛 需 要 储 存 用 户 及 其 所 发 帖 子 的 相 关 信 息 , 而 在 论 坛 运 行 过
14、 程 中 这 类相 关 数 据 量 会 逐 渐 增 大 , 因 此 要 依 据 数 据 库 来 实 现 对 这 些 数 据 的 存 储 和 管 理 。通 常 , 用 户 要 存 有 其 注 册 时 的 ID, 用 户 名 , 密 码 等 个 人 信 息 , 以 方 便 网 站 的管 理 。 同 时 , 论 坛 中 的 主 题 及 帖 子 同 样 需 要 相 应 的 信 息 数 据 , 以 方 便 其 分 类 与 管理 。引 言2根 据 上 述 分 析 , 系 统 数 据 库 中 的 主 要 表 及 其 关 系 如 下 :会 员 信 息 表 ( 用 户 ID, 用 户 名 , 密 码 , 姓 名
15、 , 性 别 , 年 龄 )帖 子 主 题 表 ( 用 户 ID, 标 题 , 内 容 , 上 传 的 附 件 , )帖 子 回 复 表 ( 用 户 ID, 内 容 , )管 理 员 表 ( 管 理 员 ID, 用 户 名 , 密 码 , )主 表 中 用 户 的 ID 属 性 为 主 键(2)用 户 在 网 站 中 进 行 的 活 动这 是 课 题 的 重 点 工 作 , 涉 及 到 如 下 内 容 : 普 通 用 户 操 作用 户 可 在 网 站 中 感 兴 趣 的 主 题 发 表 新 帖 来 表 达 自 己 的 观 点 , 并 通 过 回 帖 与 他人 进 行 交 流 , 也 可 浏 览
16、 新 闻 区 的 帖 子 。在 此 主 要 涉 及 的 问 题 是 用 户 与 用 户 之 间 发 帖 进 行 信 息 交 互 , 准 确 显 示 出 用 户所 表 示 的 帖 子 内 容 。 管 理 员 操 作对 于 一 个 论 坛 网 站 系 统 来 说 , 用 户 之 间 通 过 发 帖 及 回 帖 该 进 行 交 流 , 必 然 要有 管 理 员 对 帖 子 进 行 管 理 , 对 不 规 范 的 帖 子 进 行 删 除 , 某 些 用 户 信 息 的 注 销 及 权限 的 设 置 。 后 台 操 作管 理 员 对 于 网 站 本 身 所 要 进 行 的 各 种 后 台 操 作 , 包
17、 括 对 于 主 题 的 添 加 , 删 除 ;对 于 新 闻 区 要 能 添 加 新 的 新 关 的 帖 子 供 用 户 浏 览 。开 发 方 法 及 关 键 技 术 简 介3第 2 章 开 发 方 法 及 关 键 技 术 简 介1.4 开 发 工 具 与 运 行 环 境(1)开 发 工 具根 据 整 个 系 统 的 开 发 计 划 , 采 用 的 开 发 工 具 是 MyEclipse , 结 合 Dreamweaver最 基 本 的 框 架 搭 建 , 并 采 用 Java 语 言 进 行 嵌 入 式 开 发 动 态 网 站 。MyEclipse 是 一 个 开 放 的 源 代 码 ,
18、基 于 Java 可 扩 张 的 开 发 平 台 , 多 数 人 都 是将 MyEclipse 作 为 Java 集 成 开 发 环 境 使 用 , 虽 然 MyEclipse 使 用 Jave 开 发 , 但MyEclipse 不 仅 仅 局 限 于 Java 开 发 , 还 可 用 于 其 它 语 言 开 发 , 如 C/C+;MyEclipse是 一 个 框 架 和 一 组 服 务 , 它 通 过 各 种 插 件 来 构 建 开 发 的 环 境 , 因 此 只 要 提 供 支 持C/C+插 件 便 能 进 行 相 应 的 语 言 开 发 。MyEclipse 是 一 个 IDE( Int
19、egrated Developing Environment) , 而 这 个 IDE 可以 允 许 安 装 第 三 方 开 发 的 插 件 来 使 自 身 的 功 能 得 到 扩 展 和 增 强 , 而 MyEclipse 就 是其 中 一 种 有 名 的 插 件 集 之 一 , MyEclipse 将 开 发 者 常 用 到 的 一 些 有 用 的 插 件 都 集 合起 来 , 但 它 是 收 费 的 。MyEclipse 最 早 是 由 IBM 开 发 的 , 后 来 IBM 将 MyEclipse 作 为 一 个 开 发 的 源代 码 项 目 , 献 给 了 开 源 组 织 MyEcl
20、ipse.org, 但 仍 由 IBM 的 子 公 司 OTI( 主 要 从 事MyEclipse 开 发 的 人 员 继 续 MyEclipse 的 开 发 。MyEclipse 为 MyEclipse 提 供 一 个 大 量 私 有 和 开 源 Java 工 具 的 集 合 , 这 解 决 了各 种 开 源 工 具 不 一 致 的 缺 点 。 NitroX 是 一 个 繁 杂 而 强 大 , 加 速 Java Web 应 用 开 发的 工 具 , 还 包 含 了 一 个 强 大 且 能 够 编 译 所 有 的 JSP 和 Struts Web 应 用 的 具AppXray。 这 些 工 具
21、 解 析 Java 和 XML 配 置 文 件 。开 发 方 法 及 关 键 技 术 简 介4MyEclipse 实 际 价 值 来 来 自 包 含 的 发 布 包 中 的 大 量 工 具 。 如 CCS/JS/HTML 的编 辑 器 , 帮 助 创 建 EJB 和 Struts 项 目 的 向 导 并 产 生 了 项 目 的 所 有 主 要 的 组 件 如action/seesion bean/form 等 。 还 包 含 编 辑 Hibernate 配 置 的 文 件 和 执 行 SQL 语 句 的工 具 。(2)运 行 环 境 软 件 环 境本 系 统 运 行 在 Windows 系 列
22、 的 操 作 系 统 上 。 硬 件 环 境对 硬 件 环 境 无 具 体 要 求 。1.5 主 要 问 题 及 解 决 手 段(1)数 据 库 的 连 接程 序 调 试 运 行 后 将 数 据 库 与 程 序 连 接 时 , 会 出 现 与 数 据 库 连 接 失 败 的 情 况 ,此 时 需 要 为 数 据 库 安 装 一 个 sq3 的 补 丁 , 并 将 安 全 性 里 的 登 录 设 置 为 混 合 登 录 方式 。(2)TOMCAT 6.0 端 口 设 置 问 题在 tomcat 安 装 文 件 夹 中 有 个 conf 文 件 , 其 中 有 个 server.xml 文 件 ,
23、 有 记 事 本中 打 开 , 里 面 有 个 port=“8080“的 代 码 字 样 , 此 代 码 表 示 默 认 的 端 口 就 是 8080, 但有 时 此 端 口 会 出 现 被 占 用 的 状 况 , 因 此 服 务 器 便 不 能 使 网 站 正 常 运 行 , 此 时 便 要将 文 件 中 的 端 口 改 成 其 它 值 , 如 : port=“8099“,然 后 重 启 tomcat, 便 可 以 运 行 程 序 。(3)文 件 传 载 的 实 现在 网 站 中 实 现 文 件 的 传 载 , 当 上 传 文 件 后 , 如 文 件 名 是 中 文 形 式 时 下 载 文
24、件时 会 报 错 , 通 过 查 阅 资 料 后 发 现 改 写 下 原 Upload.jsp 文 件 中 的 代 码 如 :byte buff = new byte2048;int bytesRead;开 发 方 法 及 关 键 技 术 简 介5while(-1 != (bytesRead = bis.read(buff, 0, buff.length) bos.write(buff,0,bytesRead);catch(Exception e)e.printStackTrace();finally if (bis != null)bis.close();if (bos != null)bo
25、s.close();便 可 解 决 问 题 。1.6 关 键 技 术 简 介JSP 技 术JSP 技 术 使 用 Java 编 程 语 言 编 写 类 XML 的 tags 和 scriptlets, 来 封 装 产 生 动 态网 页 的 处 理 逻 辑 。 网 页 还 能 通 过 tags 和 scriptlets 访 问 存 在 于 服 务 端 的 资 源 的 应 用逻 辑 。 JSP 将 网 页 逻 辑 与 网 页 设 计 和 显 示 分 离 , 支 持 可 重 用 的 基 于 组 件 的 设 计 ,使 基 于 Web 的 应 用 程 序 的 开 发 变 得 迅 速 和 容 易 。 We
26、b 服 务 器 在 遇 到 访 问 JSP 网 页 的 请 求 时 , 首 先 执 行 其 中 的 程 序 段 , 然 后 将执 行 结 果 连 同 JSP 文 件 中 的 HTML 代 码 一 起 返 回 给 客 户 。 插 入 的 Java 程 序 段 可 以操 作 数 据 库 、 重 新 定 向 网 页 等 , 以 实 现 建 立 动 态 网 页 所 需 要 的 功 能 。 JSP 与 Java Servlet 一 样 , 是 在 服 务 器 端 执 行 的 , 通 常 返 回 给 客 户 端 的 就 是 一个 HTML 文 本 , 因 此 客 户 端 只 要 有 浏 览 器 就 能 浏 览 。