基于jsp的bbs论坛的设计与实现毕业论文word格式内容摘要:

端和 Server 端,降低了系统的通讯开销。 B/S 结构,即浏览器 /服务器结构,是随着 Inter 的兴起,对 C/S 结构的一种变化或者改进。 在这种结构下,用户不需要借助于客户端软件,通过 WWW 浏览器,即可实现系统的全部既定功能。 在这种模式下,一部分事务逻辑在前段实现,但是主要事务逻辑在服务器端实现,大大简化了客户端电脑载荷,减轻了系统维护与升级的成本,从而降低了用户的整体成本。 从开放程度来说,传统的 C/S 结构虽然采用的是开放模式, 但这个开放性只是针对系统开发一级的,在特定的应用中,无论是客户端还是服务器端都还需要特定的软件支持。 而 B/S 结构,是一次性到位的开发,应用此模式开发的系统,不同人员,在不同地点,以不同的接入方式(比如 LAN、 WAN 等)访问并操作共同的数据库,能有效地保护数据平台和管理访问权限,服务器的数据库也很安全。 特 别是在 Java 这样的跨平台语言出现之后,B/S 架构管理软件起来更是显得方便,快捷和高效。 可以说, B/S 是乘着 Inter 兴起的风而杨风远航的,是适应时代的产物。 但是, B/S 也存在 着 自己的不足,比方说其在大量数据分析,实时控制应用方面就存在着需要改进的地方。 综合考虑,本系统还是考虑 使用 当下流行的 B/S 结构作为系统的开发模式。 JavaScript 语言简介及特点 JavaScript 语 言 是 Netscape 公 司 开 发 的 一 种 脚 本 性 语 言 ( Scripting language),或者称其为描述性语言。 作为 一种编程语言,其出现的使命就是为了适合动态网页制作的需要,颇具工具色彩。 在静态网页 Html 的基础上,使用 JavaScript 可以开发交互式 Web 网页,能够使网页和用户之间实现一种实时性的、动态的、交互性的关系,使得网页包含更多活跃的元素和更加精彩内容。 可以说, JavaScript 是专门为制作 Web 网页而量身定做的一种简单的编程语言。 JavaScript 是在客户机上执行的,其特点和功能主要是短小精悍,能够大大提高网页的浏览速度和交互能力。 其特有的工具色彩让其在动态网页的开发中找到了用武之地。 JSP 概述 JSP 是由 Sun 公司在 Java 语言的基础上开发出来的一种动态网页制作技术,其将标记 % %插入到页面中,从而使网页中的静态部分和动态部分分离开来。 JSP 是类似 12 ASP 的一种技术,在传统的静态网页 HTML 文件插入 Java 程序段和 JSP 标记,就形成了JSP 文件。 JSP 技术的强势在于: 一次编写,到处运行。 在更换系统时 ,代码不需要做任何修改。 系统的多平台支持。 基本上可以在所有平台上的任意环境下开发,在任意环境中进行系统部署,在任意环境中扩展。 强大的可伸缩性。 通过小小的 jar 文件运 行 servlet/JSP,到由多台服务器进行集群和负载均衡,到多台 Application 进行事务处理,一台服务器到无数台服务器,JSP 表现了强大的可伸缩性。 多样化和功能强大的开发工具支持,常用的编辑工具有 Dreamweaver 和MyEclipse 等。 MySQL MySQL 可以称得上是目前运行速度最快的 SQL 语言数据库,除了具有许多其他数据库所不具备的功能和选择外, MySQL 数据库是一种完全免费的产品,用户可以直接从网上下载数据库,用于个人和商业用途,而不必支付任何费用。 JDBC 技术 数据库管理是每个应用系统开发过程中不得不考虑的问题,目前主流的数据库有Oracle、 SqlServer、 MySql 等。 不管使用何种技术,都离不开 JDBC 技术的支持。 JDBC的全称是 Java DataBases Connectivity standard,即 Java 数据库连接,是一种数据库通用接口采用的主流技术。 其定义了用来访问数据库源的标准 Java 类库,通过它使用一种标准方法,就能够方便的访问数据库资源。 所以, JDBC 又是一种规范,其目标是使应用程序开发人员通过它连接任何提供 JDBC 驱动程序的数据 库系统,这样就使得程序员无需对某种数据库有过多的了解,大大加快了开发过程。 有了 JDBC,向各种数据库发送 SQL 语句就是一件再简单不过的事了。 换言之,有了 JDBC,就不必为访问数据库 A 专门再写一个程序,又为访问数据库 B 专门写一个程序。 所以, JDBC 为 Java 应用程序与各种不同数据库之间进行对话提供了一个标准的方法,这也是 Java 语言“一次编写,到处运行”的优势。 13 4 数据库设计 数据库分析 数据库的设计,在应用系统的开发中起着举足轻重的作用。 一个合理、有效的数据库设计不仅是做好系统的保证,也能降低 程序的复杂性, 使 程序的开发过程变得更加容易。 本系统是一个中型的 BBS 论坛系统,考虑到用户信息量和用户需求等问题,决定采用 MySQl 作为项目用数据库。 MySQl 是一个中小关系型数据管理系统,最初由 MySQL AB 公司发布。 MySQL 由于体积小、速度快、总 体拥有成本低等原因,成为许多中小型网站数据库的首选。 MySQL 可以称得上是目前运行速度最快的 SQL 语言数据库,此外, MySQL 数据库是一种完全免费的产品,用户可以直 接从网上下载数据库,用于个人和商业用途,而不必支付任何费用。 数据库概念设计 ER 图 是实体联系图, ER 模型是对现实世界的一种抽象。 其组成部分主要包括实体、联系和属性。 使用这三种成分,我们可以很好的抽象出现实世界中的个体,并通过彼此之间的联系来抽象整个世界。 ER 模型是设计数据库时经常使用到的方法。 经过分析,本系统创建了五张数据库表, 即 帖子表( article)、版块表( edit)、用户等级表( grade)、用户表( user)和管理员表( admin)。 下面划分出本系统所使用的数据库实体,它们分别为用户( User)和帖子 (Article)以及管理员( admin)。 以下是帖子、用户和管理员的 实体 图: 14 帖 子帖 子 i d父 亲 帖 i d根 贴 i d帖 子 回 复 量帖 子 作 者帖 子 内 容帖 子 主 题叶 子 节 点 判 断 标 记帖 子 发 表 时 间帖 子 查 看 量精 华 帖 判 断 标 记 图 41 帖子 实体 图 用 户注 册 时 间密 码 邮 箱 地 址重 复 密 码用 户 名用 户 等 级 图 42 用户实体表 管 理 员管 理 员 姓 名 账 号 创 建 时 间密 码管 理 员 编 号 图 43 实体管理员表 系统的 ER 图如下: 15 管 理 员版 块 类 别 信 息用 户 等 级帖 子用 户管 理属 于属 于发 帖1n1n1111 图 44 系统 ER 图 数据库的逻辑设计 根据数据库的概念设计,可以创建与实体对应的数据表。 用户表( User) 下面是对表 User 的具体设计 表 41 user 字段名 属性 约束 意义 1 userName varchar(30) primary key 用户名 2 password varchar(25) 无 密码 3 rePassword varchar(25) 无 确认密码 4 mainUrl varchar(50) 无 邮箱地址 5 loginTime datetime 无 注册时间 6 gradeNo int Foreign key 用户等级 说明: *userName 是注册用户的用户名,为 User 表的主键。 *password 是用户密码,为用户登录时用。 *rePassword 是确认密码,与用户密码对应。 *mailUrl 是用户的邮箱地址,通过它,我们可以与之通过邮件通信。 *loginTime 表示用户注册的时间。 16 *gradeNo 表示用户的等级,与登记表( grade)中的 gradeId 相关联,组成表的外键。 共分为四个等级:菜鸟、列兵、星级标兵和士官。 *在注册过程中, password 和 rePassword 必须一致,否则无法成功注册。 管理员表( admin) 表 42 admin 字段名 属性 约束 意义 1 adminId int primary key 管理员编号 2 adminName varchar(25) 无 管理员姓名 3 password varchar(25) 无 密码 4 adminTime datetime 无 创建时间 帖子表( Article) 下面是对表 Article 的具体设计 表 43 article 字段名 属性 约束 意义 1 id int primary key 帖子 id 2 pid int 无 父亲 id 3 rootid int 无 根 id 4 editNo Int 无 所属版块 5 title varchar(30) 无 标题 6 cont text 无 内容 7 pdate datetime 无 发帖时间 8 writer varchar(30) foreign key 作者 9 viewCount int 无 帖子查看量 10 replyCount int 无 帖子回复量 11 isleaf int 无 判断帖子是否 为叶子节点 12 isEssence int 无 判断帖子是否为精华帖 说明: *id 是帖子的编号,为本表的主键。 *pid 是父亲 id 的编号,表示被回复的帖子 id 号。 *rootid 表示根贴的 id 号,表示最初发起主题的帖子 id 号。 17 *editNo 表示帖子所属的板块号,每个版块的帖子分版块区别显示。 *title 表示帖子的主题。 *cont 表 示帖子的内容。 *pdate 表示发帖的具体时间。 *writer 表示发帖的作者,此外键对应 user 表中 userName 字段。 *viewCount 表示帖子的查看量。 *replyCount 表示帖子的回复量。 *isLeaf 判断帖子是否为叶子节点,值为 1 时表示为非叶子节点;为 0 时表示为叶子节点。 *isEssence 判断帖子是否为精华帖,值为 1 是表示是精华帖;反之,则不是。 用户 等级 表( grade) 图 44 grade 字段名 属性 约束 意义 1 gradeId int primary key 等级编号 2 gradeCont varchar(25) 无 等级内容 版块类别表( edit) 图 45 edit 字段名 属性 约束 意义 1 edited int primary key 版块编号 2 editName varchar(25) 无 版块内容 18 a r t i c l eP K i d p i d r o o t i d e d i t N o t i t l e c o n t p d a t e v i e w C o u n t r e p l y C o u n t w r i t e r i s E s s e n c e i s L e a fu s e rP K u s e r N a m e p a s s w o r d r e P a s s w o r d l o g i n T i m e g r a d e N og r a d eP K g r a d。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。