前期准备
1.项目构建文件
2.数据库设计
CREATE DATABASE blog_system;
USE blog_system;
SET FOREIGN_KEY_CHECKS=0;
t_article
字段名 | 类型 | 长度 | 是否为主键 | 说明 |
id | int | 11 | 是 | 文章id |
title | varchar | 50 | 否 | 文章标题 |
content | longtext | 否 | 文章内容 | |
created | date | 否 | 创建时间 | |
modified | date | 否 | 修改时间 | |
categories | varchar | 200 | 否 | 文章分类 |
tags | varchar | 200 | 否 | 文章标签 |
allow_comment | tinyint | 1 | 否 | 是否允许评论(默认1) |
thumbnail | varchar | 200 | 否 | 文章缩略图 |
t_comment
字段名 | 类型 | 长度 | 是否为主键 | 说明 |
id | int | 11 | 是 | 评论id |
article_id | int | 11 | 否 | 评论关联的文章id |
created | date | 否 | 创建时间 | |
ip | vachar | 200 | 否 | 评论用户所在ip |
content | text | 否 | 评论内容 | |
status | varchar | 200 | 否 | 评论状态(默认 approved ) |
author | varchar | 200 | 否 | 评论作者名 |
t_statisic
字段名 | 类型 | 长度 | 是否为主键 | 说明 |
id | int | 11 | 是 | 文章统计id |
article_id | int | 11 | 否 | 文章id |
hits | int | 11 | 否 | 文章点击量 |
comments_num | int | 11 | 否 | 文章评论量 |
t_user
字段名 | 类型 | 长度 | 是否为主键 | 说明 |
id | int | 11 | 是 | 用户id |
username | vachar | 200 | 否 | 用户名 |
password | vachar | 200 | 否 | 用户密码(加密后的密码) |
vachar | 200 | 否 | 用户邮箱 | |
created | date | 否 | 创建时间 | |
vaild | tinyint | 1 | 否 | 是否为有效用户(默认 1 ) |
t _authority
字段名 | 类型 | 长度 | 是否为主键 | 说明 |
id | int | 11 | 是 | 权限id |
authority | vachar | 200 | 否 | 权限以ROLE_开头 |
t_user_authority
字段名 | 类型 | 长度 | 是否为主键 | 说明 |
id | int | 11 | 是 | 用户id |
article_id | int | 11 | 否 | 文章id |
authority_id | int | 11 | 否 | 权限id |
persistent_logins
字段名 | 类型 | 长度 | 是否为主键 |
username | vachar | 64 | 否 |
series | vachar | 64 | 是 |
token | vachar | 64 | 否 |
last_used | vachar | 64 | 否 |
t_schedule_email
字段名 | 类型 | 长度 | 是否为主键 | 说明 |
id | int | 11 | 是 | |
toaddress | vachar | 255 | 否 | 收件人邮箱地址 |
schedule | bigint | 否 | 定时参数(5位数字,第1位是星期几,第2-3位是几时,第4-5位是几分 | |
subject | vachar | 255 | 否 | 邮件主题 |
content | text | 否 | 邮件内容 | |
status | char | 1 | 否 | 0 未发送 1 发送成功 2 发送失败 |
error | text | 否 | 若邮件发送失败,存储失败具体信息 | |
create_time | datetime | 否 | 记录创建时间 |
3.Maven依赖
4.编写配置文件
application.yml
application-jdbc.properties
application-mail.properties
application-redis.properties
一、博客首页
博客首页文章概述:
-
登录和未登录状态下的头部内容显示。
-
博客列表:显示文章列表的文章标题、文章所属分类、文章发布时间、图库中随机给予文章提供一张随机的图片、文章内容。
-
阅读排行榜列表:显示浏览量前15名的文章标题以及文章浏览次数。
-
分页功能:每页限制显示5个文章的条件下,其余多出来的文章会在新的文章列表中以此类推,显示分页页码随着发布文章的数量增加,显示分页页码也会增加。
-
列表排序顺序:文章列表排序是通过文章发布的时间按照年月日(例如:xxxx-xx-xx)来进行排列,可通过点击查看每个分页页码的页面的文章列表的每个文章的发布时间证实是通过文章发布时间来排列每个文章。
-
点击跳转、点击列表变化:点击下一页后,页面跳转到下一网页页面显示新的文章列表的文章标题、文章所属分类、文章发布时间、图库中随机给予文章提供一张随机的图片、文章内容;点击上一页后,页面跳转上一网页页面显示原来查看的文章列表的文章标题、文章所属分类、文章发布时间、图库中随机给予文章提供一张随机的图片、文章内容;点击分页列表的数字页码后,页码跳转到该数字页面显示文章列表的文章标题、文章所属分类、文章发布时间、图库中随机给予文章提供一张随机的图片、文章内容。
-
阅读排行榜列表:显示阅读排行榜列表的浏览量前15名的文章标题以及文章浏览次数。
-
点击跳转、点击列表变化:通过点击阅读排行榜上榜的文章的标题进入文章详情页,可查看文章详情页的文章标题、所属分类、文章发布时间、文章内容、评论列表以及内容;进入文章详情页浏览后,返回到首页可查看阅读排行榜所点击的文章的文章标题旁的浏览次数是否有所增加(浏览后的浏览次数 = 浏览前原有浏览次数 + 1);显示详情页。
-
图片、链接:发布文章在文章编辑里面插入图片将其图片链接放入!alt的括号内,再写入文章标题、文章内容进行发布,再通过首页查看文章列表中点击刚刚发布文章的文章详情页里面有插入图片通过图片链接显示的图片;点击博客小站能回首页。
(A)前端准备
------- 稍后更新---------
(B)后端处理
------- 稍后更新---------