基于j2ee的博客系统的设计与实现内容摘要:

法信息进行清除等操作。 用户博客首页:用户博客首页主要是对用户个人的博客内容进行展现。 用户博客后台:用户博客后台主要是用户的博客内容进行管理,如:日志的发布,删除等操作。 数据库设计 本系统主要由 7 个基本表组成 ,分别为 person 用户表 ,space 空间信息表 ,post 日志表 ,category 分类表 ,reply 日志评论表 ,ment 留言表 ,link 超链接表 ,各表关系如下图所示 : 图 32 数据库各表关系图 person 用户表 用户表记录用户基本信息 ,结构如表 31 所示 : 表 31 person 用户表 字段名称 字段类型 长度 是否可为空 备注 id int 11 否 用户 ID account varchar 50 否 用户帐号 password varchar 50 否 用户密码 name varchar 50 否 用户昵称 varchar 50 是 用户电子邮箱 sex varchar 10 是 用户性别 dateCreated varchar 50 否 注册时间 ipCreated varchar 50 否 注册 IP isAdmin int 10 否 是否为管理员 space 空间信息表 空间信息表记录了用户空间的信息 ,结构如表 32 所示 : 表 32 space 空间信息表 字段名称 字段类型 长度 是否可为空 备注 id int 11 否 空间 ID name varchar 50 否 空间名称 des varchar 400 是 空间描述 post 日志表 日志表记录了日志的详细信息 ,结构如表 33 所示 : 表 33 post 日志表 字段名称 字段类型 长度 是否可为空 备注 id int 11 否 日志 ID title varchar 50 否 日志标题 content varchar 10000 是 日志内容 hit int 11 否 日志点击数 dateCreated varchar 50 否 日志创建时间 Spa_id int 11 否 日志所属空间 Cat_id int 11 否 日志所属分类 category 分类表 分类表记录了日志的分类信息 ,结构如表 34 所示 : 表 34 category 分类表 字段名称 字段类型 长度 是否可为空 备注 id int 11 否 分类 ID name varchar 50 否 分类名称 Spa_id int 11 否 分类所属空间 reply 日志评论表 日志评论表记录了日志的相关评论信息 ,结构如表 35 所示 : 表 35 reply 日志评论表 字段名称 字段类型 长度 是否可为空 备注 id int 11 否 评论 ID name varchar 50 否 评论 者名字 content varchar 1000 是 评论内容 floor int 11 否 评论数 dateCreated varchar 50 否 评论时间 ipCreated varchar 50 否 评论IP Post_id int 11 否 评论所属日志 ment 留言表 留言表记录了他人对博主空间的留言 ,结构如表 36 所示 : 表 36 ment 留言表 字段名称 字段类型 长度 是否可为空 备注 id int 11 否 留言 ID name varchar 50 否 留言 者名字 content varchar 1000 是 留言内容 floor int 11 否 留言数 dateCreated varchar 50 否 留言时间 ipCreated varchar 50 否 留言IP Spa_id int 11 否 留言所属空间 link 超链接表 超链接表记录了用户设置的超链接信息 ,结构如表 37 所示 : 表 37 link 超链接表 字段名称 字段类型 长度 是否可为空 备注 id int 11 否 超链接 ID title varchar 50 否 超链接标 题 url varchar 100 否 超链接内容 Spa_id int 11 否 超链接所属空间 系统架构 系统将采用提供 Web 服务器的经典架构,即: B/S Browse/Server 架构,该架构和传统的架构 C/S Client/Server 最大的不同在于,传统架构不但要提供服务器端 Server 的程序,还需要提供一个客户端 Client 程序,当软件有更新时,需要所有客户端同时升级才能享受到你的功能,所以软件升级成本比较高。 而 B/S 架构则很好的解决了这一问题,该架构的最终系统代码只需要放在 Web服务器上,而用户仅仅通过浏览器就能轻松访问系统,而对于系统的升级,只需要将系统代码更新到 Web 服务器上,用户就能享受到新系统所带来的功能体验。 系统总体架构如图 33 所示 : 图 33 系统总体架构图 Browser 为用户浏览器 ,即安装在用户电脑上的 WEB 浏览器。 对于用户浏览器来说只需要和 WEB 服务器进行交互,而 WEB 服务器再与系统交互,把结果返回给用户浏览器。 而数据库也是和系统交互,将结果统一给 WEB 服务器返回给用户浏览器。 用户浏览器与 WEB 服务器采用 HTTP 协议进行通信,而系统和数据之间的通信则采用 底层的 TCP/TP 协议进行。 系统运行机制 本节主要对整个系统运行平台的运行机制加以说明,运行平台基于 windows平台,而开发平台主要是基于面向对象的 JAVA 语言,另外整合了 JAVA WEB 流行框架 Struts2 和 Hibernate。 Windows 平台运行机制如图 34 所示 : 图 34 windows 运行平台机制图 如图 34 所示,运行机制为:用户在浏览器里输入博客系统地址,然后浏览器通过 HTTP 请求访问提供服务的服务器的 8080 端口,由于在服务器上 8080 端口由 Tomcat 服务器提供,所以操作系统把整 个请求交给 Tomcat 来处理, Tomcat通过用户的请求地址,识别出系统采用 JSP 语言编写,这里 Tomcat 服务器需要调用 JSP 解析引擎来对指定的博客系统源码进行解析,然后将 JSP 返回的结果返回给用户浏览器,最终用户就能够通过浏览器看到博客系统的界面了。 在 JSP解析博客系统的过程中,如果需要从数据库里取数据,则通过 TCP/TP 建立起MySQL 数据库服务器的连接。 最终通过 JSP 将需要返回,这一步是在 JSP 内部完成。 系统详细设计与实现 本章将描述整个博客系统最核心的部分,主要从各功能的具体设计方法和主要实现代 码方面描述。 类的设计与实现 在博客系统中,类的设计主要分为两类 :一类是 Java Bean,还有一类是通用工具类。 其他类为次要,在此不另外说明。 Java Bean 类的设计 Java Bean 一般用来封装业务逻辑、数据库操作以及在系统存储和传递数据的实体,是整个软件的核心部分。 Java Bean 类图如下 41 所示 图中省略了getter 和 setter 方法 : 图 41 Java Bean 类图 如图 41 所示 : Person Bean 用来保存用户的基本信息 ,包括 :用户 ID,帐号 ,密码 ,昵称 ,电子邮箱 ,性别 ,注册时间 ,注册 IP,是否为管理员。 Space Bean 用来保存用户空间的信息,包括 :空间 ID,空间名,空间描述。 Post Bean 用来保存用户日志的信息,包括 :日志 ID,标题,内容,被点击数,创建时间,所属空间以及所属分类。 Category Bean 用来保存分类的信息,包括 :分类 ID,分类名和所属空间。 Reply Bean 用来保存日志评论的信息,包括 :评论 ID,评论者名字,评论内容,评论数,评论时间,评论 IP 和评论所属日志。 Comment Bean 用来保存留言的信息,包括 :留言 ID,留言者名字,留言内容,留言数,留言时间,留言 IP 和留言所属空间。 Link Bean 用来保存超链接的信息,包括 :超链接 ID,超链接标题,超链接内容和超链接所属空间。 通用类的设计 在博客系统中还设计了通用类,这个通用类主要是针对 Hibernate 设计的,这个类在对数据的插入,修改,删除,更新时经常用到,因此在这里把它封装成一个通用,方便以后的调用。 HibernateSessionFactoryUtil 代码如下所示 : public class HibernateSessionFactoryUtil private static SessionFactory sessionFactory。 //单态模式的 SessionFactory private HibernateSessionFactoryUtil static //static 代码块 ,类加载时初始化Hibernate sessionFactory new Configuration .configure .buildSessionFactory。 public static SessionFactory getSessionFactory return sessionFactory。 Hibernate 配置 本系统使用现今流行的 Java Web 框架 Hibernate 来统一管理数据库 ,在MySQL 数据库中先建立好基本表 ,然后通过 Hibernate 与 Java Bean 对应映射关系 ,Hibernate 配置文件如下所示 : sessionfactory property name root !数据库管理名 property name jdbc: UTF8 property name dialect property name myeclile .Driver property name 123 !数据库密码 property name .Driver !数据库驱动 property name current_session_context_class thread property name show_sql true !在终端显示 SQL 语句 mapping resourc。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。