基于SSM的个人博客系统(二)

目录

第四章  系统设计

4.1 系统总流程

4.2 博主用例

 4.3 游客用例

4.4 系统类

一、博客类

二、博客类型类

三,评论类:

四.友情链接类

4.5 E-R图

4.6 系统表设计


前面内容请移步

基于SSM的个人博客系统(一)

个人博客系统的设计与实现

个人博客系统的设计与实现+毕业设计+论文

第四章  系统设计

4.1 系统总流程

图4-1  系统流程

        本个人博客系统分为两个角色,分别是博主和游客。只有博主才能登录后台管理系统,进行博客发表。

        1.首先要通过用户名和密码登录后台管理系统,才能发布博客。

        2.博主和游客都可以阅读博客。

        3.博主和游客都可以发表评论。

        4.经过博主的评论审核,评论才可以发布。

        5.此时博主和游客才可以观看到评论。

4.2 博主用例

图4-2博主用例图

博主的功能简介:

1.登入功能

        登入后台管理系统:首先进入登录页面,需要输入账号和密码。它会使用Shiro进行安全管理,对前台输入的密码进行加密运算,然后与数据库中的进行比较。成功后才能登入后台系统。

2.博客管理功能

        博客管理功能分为写博客和博客信息管理。写博客是博主用来发表编写博客的,需要博客标题,然后选择博客类型,最后将博客内容填入百度的富文本编辑器中,点击发布博客按钮即可发布博客。

3.博客类别管理系统

        博主类别管理系统可以添加,修改和删除博客类型名称和排序序号。将会显示到首页的按日志类别区域。游客可以从这里查找相关的感兴趣的博客内容。

4.评论管理功能

        评论管理功能分为评论审核和评论信息管理两部分。评论审核是当有游客或自己发表了评论之后,博主需要在后台管理系统中审核评论。若想将此评论显示在页面上则点击审核通过,否则点击审核不通过。

5.个人信息管理功能

        在这里可以修改博主的个人信息,可以修改昵称,个性签名,可以添加个人头像,修改个人简介。

6.系统管理功能

        这里的功能有友情链接管理,修改密码,刷新系统缓存和安全退出。友情链接管理可以添加,修改,删除友情链接网址。

 4.3 游客用例

图4-3游客用例图

用例一

用例名称:查询博客

参与者:游客

主要流程:

  1. 在查询搜索处填写所需的条件
  2. 点击查询
  3. 便会显示出符合条件的所有博客

用例二

用例名称:查看博客内容

参与者:游客

主要流程:

  1. 点击想要查看的博客,进入博客内容页面
  2. 观看博客内容信息

用例三

用例名称:查看博主个人信息

参与者:游客

主要流程:

  1. 点击关于博主,进入博主个人信息页面
  2. 可以看到博主的个人信息内容

用例四

用例名称:发表评论

参与者:游客

前置条件:首先要进入到博客内容页面

主要流程:

  1. 在发表评论的评论框中写入自己想要发表的评论
  2. 填入验证码
  3. 点击发表评论

用例五

用例名称:查看友情链接

参与者:游客

主要流程:

  1. 在每个页面的右下角可以看到友情链接
  2. 若想跳转到某个友情链接则点击相应的友情链接即可
  3. 观看友情链接内容

4.4 系统类

图4-4博客类图

本系统主要功能和模块的JavaBean主要集中博客、博客类型、评论、友情链接这四个类。

一、博客类

1.功能

        用于存储博主发表的博客的一些信息

2.属性

        id; // 编号                                                        

        title; // 博客标题                                                     

        summary; // 摘要                                                    

        leaseDate; // 发布日期                                                

        clickHit; // 查看次数                                                

        replyHit; // 回复次数

        content; // 博客内容                                                  

        contentNoTag; // 博客内容 无网页标签 Lucene分词用                             

        blogType; // 博客类型                                               

        blogCount; // 博客数量 非博客实际属性,主要是 根据发布日期归档查询博客数量用         

        releaseDateStr; // 发布日期字符串 只取年和月                                 

        keyWord; // 关键字                                              

3.方法

        都是属性对应的setter,getter方法

二、博客类型类

1.功能:对博客进行分类,将博客分为几大类型

2.属性: 

        id; // 编号        

        userName; // 用户名  

        password; // 密码   

        nickName; // 昵称   

        sign; // 个性签名     

        proFile; // 个人简介  

        imageName; // 博主头像

3.方法:

        对应的setter,getter方法

三,评论类:

1.功能:对博客评论数据保存。

2.属性:

        id; // 编号                           

        userIp; // 用户IP                      

        content; // 评论内容                     

        blog; // 被评论的博客                        

        commentDate; // 评论日期                   

        state; // 审核状态  0 待审核 1 审核通过 2 审核未通过

3.方法:

        对应的setter,getter方法

四.友情链接

1.功能:可以保存页面上的友情链接网址。 

2.属性:

        id; // 编号              

        linkName; // 链接名称       

        linkUrl; // 链接地址        

        orderNo; // 排序序号 从小到大排序

3.方法:

        对应的setter,getter方法。

4.5 E-R图

 

图4-5博客E-R图

博客类的关系模式如下(加下滑线的是主键):

博客(编号,博客标题,摘要,发布日期,查看次数,博客类型,关键字,博客内容)。

图4-6博主E-R图

博主类的关系模式如下(加下滑线的是主键):

博主实体(编号,用户名,密码,昵称,个性签名,个人简介,博主头像)。

 

图4-7博客类型E-R图

博客类型类的关系模式如下(加下滑线的是主键):

博客类型实体(编号,博客类型名称,数量,排序)。

 

图4-8评论E-R图

评论类的关系模式如下(加下滑线的是主键):

评论实体(编号,用户IP,评论内容,被评论的博客,评论日期,审核状态)。

 

图4-9友情链接E-R图

友情链接类的关系模式如下(加下滑线的是主键):

友情链接实体(编号,链接名称,链接地址,排序序号)。

 

4.6 系统表设计

系统总共有五张表,分别是博客表,博主表,博客类型表,评论表,友情链接表。如下所示:

表4-1 t_blog表

字段名                  数据类型                    允许非空

id                       int(11)                     no

title                    varchar(200)           yes

summary           varchar(400)          yes

releaseDate      datetime                 yes

clickHit              int(11)                     yes

replyHit              int(11)                     yes

content               text                        yes

typeId                int(11)                     yes

表4-2 t_blogger表

字段名                  数据类型                    允许非空

id                       int(11)                     no

userName         varchar(50)             yes

password          varchar(100)          yes

profile                text                        yes

nickName          varchar(50)           yes

sign                   varchar(100)         yes

imageName      varchar(100)        yes

表4-3 t_blogtye表

字段名                  数据类型                    允许非空

id                       int(11)                     no

typeName          varchar(30)            yes

orderNo              int(11)                     yes

 表4-4 t_comment表

字段名                  数据类型                    允许非空

id                       int(11)                     no

userIp                varchar(50)            yes

blogId                int(11)                     yes

content              varchar(1000)         yes

commentDate   datetime                  yes

state                  int(11)                     yes

表4-5 t_link表

字段名                  数据类型                    允许非空

id                       int(11)                     no

linkName                 varchar(100)                yes

linkUrl                  varchar(200)                yes

orderNo                  int(11)                     yes

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/585670.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

docker mysql更新升级版本

一、环境说明 操作系统:Centos7 数据库版本:MySql 8.0.22 数据库中数据量不大,处于开发/测试环境,风险较低 二、升级原因 升级是因为测评漏洞,在进行国家三级等级保护测评过程中,漏扫发现多个MySql漏洞…

(十五)Servlet教程——Servlet文件上传

JSP和HTML标签一起使用,来允许用户把文件上传到服务器。 首先我们需要创建一个前端界面,创建上传文件表单时,需要注意以下几点: (1) 表单的method属性必须设置为POST方法, 不能使用GET方法。 (2) 表单enctype属性应该…

【Unity面试篇】Unity 面试题总结甄选 |Unity基础篇 | ❤️持续更新❤️

2.2 前言 关于Unity面试题相关的所有知识点:🐱‍🏍2023年Unity面试题大全,共十万字面试题总结【收藏一篇足够面试,持续更新】为了方便大家可以重点复习某个模块,所以将各方面的知识点进行了拆分并更新整理…

19 做好微服务间依赖的治理和分布式事务

在前两讲里,分别从微服务的对外接口、消息消费以及微服务自身的相关编码规范上阐述了“防备上游、做好自己”这两个准则如何落地。 在本讲里,将会讲解为什么要“怀疑下游”,以及有哪些手段可以落地此条准则。此外,还会介绍在进行…

基于SSM的个人博客系统(三)

目录 第五章 系统实现 5.1 登录模块 5.1.1 博主登录 5.2 博客管理模块: 5.2.1 博客查询 5.2.2 博客新建 5.2.3 博客修改 5.2.4 博客删除 5.3 博客类别管理模块 前面内容请移步 基于SSM的个人博客系统(二) 个人博客系统的设计…

Qt+Ubuntu20.04:打包qt

打包程序 参考 qt项目在Linux平台上面发布成可执行程序.run_qt.run不是虚拟机的配置文件-CSDN博客 Linux下Qt程序的打包发布(1)-不使用第三方工具 - 知乎 (zhihu.com) 过程 1、Release编译 先将你的程序在release下编译通过,保证下面打包的程序是你最新的。 2…

沐风老师3DMAX一键生成桌子插件TableMaker使用方法

3DMAX一键生成桌子插件TableMaker使用教程 3DMAX一键生成桌子插件TableMaker,参数化方式快速创建各种样式桌子模型。 【适用版本】 3dMax2011-2025(不仅限于此范围) 【安装方法】 3DMAX一键生成桌子插件无需安装,使用时直接拖动…

GCB | 陆地生态系统C:N:P化学计量对降水变化的响应

西北农林科技大学水保学院上官周平研究员团队在陆地生态系统C:N:P化学计量对降水变化的响应方面取得新进展,并以“C:N:P stoichiometry of plants, soils, and microorganisms: Response to altered precipitation”为题发表在国际生态环境领域著名期刊Global Chang…

SpringBoot之自定义注解参数校验

SpringBoot之自定义注解参数校验 为什么要自定义注解 我这里先引入一个例子,就比如我现在要写文章,文章也许写完正要发布,也可以是还没写完正要存草稿,前端往后端发送数据,如果前端的state不是草稿或者已发布状态&…

C语言中的趣味代码(五)

我想以此篇结束关于C语言的博客,因为在C语言拖得越久越不能给大家带来新的创作,在此我也相信大家对C语言已经有了一个新的认知。进入正题,在这一篇中我主要编一个“英语单词练习小程序”来给大家展开介绍,从测试版逐步改良&#x…

C语言(操作符)1

Hi~!这里是奋斗的小羊,很荣幸各位能阅读我的文章,诚请评论指点,关注收藏,欢迎欢迎~~ 💥个人主页:小羊在奋斗 💥所属专栏:C语言 本系列文章为个人学习笔记&#x…

【JavaWeb】Day62.SpringBootWeb案例——基础登录功能

登录功能 需求 在登录界面中,我们可以输入用户的用户名以及密码,然后点击 "登录" 按钮就要请求服务器,服务端判断用户输入的用户名或者密码是否正确。如果正确,则返回成功结果,前端跳转至系统首页面。 接…

Python数据分析系列(一):python入门

文章目录 前言一、Python运行方式二、Python集成开发环境(IDE)三、Python开发平台—Anaconda1、下载2、安装3、使用3.1 Anaconda应用介绍3.2 配置Python库3.3 集成开发环境使用3.3.1.Spyder3.3.2 Jupyter Notebook四、Python入门概念1、入门函数:print()与input()2、python书写…

SAP PP学习笔记08 - 作业区(工作中心Work Center),作业区Customize

上一章讲了作业手顺(工艺路线Routing)。 SAP PP学习笔记07 - 作业手顺(工艺路线Routing)-CSDN博客 这一章来讲讲作业区(工作中心 Work Center)。 1,作业区(工作中心)中…

挑战一周完成Vue3项目Day3: 品牌管理+平台属性管理+SPU管理+SKU管理

一、真实接口替换mock接口 (1)替换各个环境下的服务器地址( .env.development、.env.production、.env.test ) VITE_SERVE"http://sph-api.atguigu.cn" (2) 配饰代理跨域:vite.con…

如何测试响应式网站

我们每天通过多种设备访问互联网。移动电话,台式机/笔记本电脑,平板电脑,平板电脑…我们所掌握的设备数量已经增长为天文数字。作为消费者,体验很棒。我们可以随时随地在任何设备上自由访问互联网。但对于Web开发人员,…

磁盘格式化文件恢复:一文看懂数据恢复操作

当你意识到关键的硬盘已经被格式化,而且你不能获取里面的内容时,这会是非常令人沮丧的。这种情况可能是因为硬盘被不小心格式化,或者是你在试图修正一些问题、调整文件系统或者释放存储空间时,有意进行的格式化。无论具体情况是什…

Go 语言变量

变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。 变量可以通过变量名访问。 Go 语言变量名由字母、数字、下划线组成,其中首个字符不能为数字。 声明变量的一般形式是使用 var 关键字: var identifier type 可以一次声…

线程基础知识

进程是资源分配的最小单位,线程是程序执行的最小单位… 为什么使用线程 多线程之间会共享同一块地址空间和所有可用数据的能力,这是进程所不具备的线程要比进程更轻量级 ,由于线程更轻,所以它比进程(fork创建进程以执行新的任务…

Postgresql 从小白到高手 十一 :数据迁移ETL方案

文章目录 Postgresql 数据迁移ETL方案1、Pg 同类型数据库2 、Pg 和 不同数据库 Postgresql 数据迁移ETL方案 1、Pg 同类型数据库 备份 : pg_dump -U username -d dbname -f backup.sql插入数据: psql -U username -d dbname -f backup.sqlpg_restore -U username…