1 项目简介

本项目设计了支持多用户的独立博客系统,初步实现了方便用户管理自己的博客站点基本信息的功能。

2 项目功能

通过对独立博客平台以及大型博客平台的调查,于是将独立博客系统的功能划分为如下几部分:

主要功能描述:

  • ①. 前台显示:负责显示文章、个性页面、标签分类信息等公开的内容。其子功能如下:
    • 显示主页文章列表:显示文章列表,包含每一篇文章的标题发布时间、作者、分类、标签、简介信息。
    • 显示文章内页:显示文章标题发布时间、作者、分类、标签、文章内容。
    • 独立页面内页:显示页面标题、发布时间、页面内容。
    • 显示侧栏标签分类列表:
      • 左侧栏:仅显示独立页面列表标题(可通过点击进入独立页面内页)。
      • 右侧栏:显示博客系统所有分类列表和所有标签列表。
  • ②. 后台管理:负责对文章、个性页面、标签、用户的增删改操作。其子模块如下:
    • 文章的增删改:简略显示当前已发布的文章列表,可添加新文章、可编辑除文章ID外的所有文章信息以及删除文章。
    • 独立页面的增删改:简略显示当前已发布的独立页面列表,可添加页面、可编辑除页面ID外的所有页面信息以及删除页面。
    • 分类的增删改:显示当前已存在的分类列表,可添加新分类、可编辑除分类ID外的所有分类信息以及删除分类。
    • 标签的增删改:显示当前已存在的标签列表,可添加新标签、可编辑除标签ID外的所有标签信息以及删除标签。
    • 用户的增删改:显示系统的用户列表,应实现的功能:
      • 管理员可添加发布者、编辑人员以及管理员这三种权限等级的角色。
      • 管理员仅能编辑密码和用户操作权限。
      • 管理员无法对同一权限等级的另一管理员操作。
      • 发布者只能发布文章,对其屏蔽文章编辑与删除、页面/分类/标签/用户列表/数据库备份恢复视图。
      • 编辑人员只能发布和编辑文章,对其屏蔽文章删除、页面/分类/标签/用户列表以及数据库备份/恢复视图。
    • 数据库备份/恢复操作管理:可备份当前博客系统整个数据库,并从站点下载备份文件可保存到任意位置。可从任意位置上传数据库备份文件以还原数据库。

3 数据库设计

根据系统的功能需求,设计出如下实体:Article、Page、Category、Tag、User。并设计出系统数据库的物理模型(包含关系表、视图、存储过程、触发器):

4 系统框架

MVC架构

通常MVC架构如下:

基于此架构,针对本项目细化为如下:

RESTful风格的CRUD

使用RESTful风格简化前台访问请求的URI,使URI形式为:

URI=http://www.xxx.com/资源名称/标识

如对文章实体访问请求的URI设计如下:

前端框架-Bootstrap

为减少前端界面设计方向的工作,而更加注重于后台与前台接口的实现以及数据逻辑处理过程的编写,因此引入前端框架Bootstrap,保证了前端界面的简洁和一定程度上的美观。

5 开发环境

①. Windows 64bit
②. Open JDK 12
③. SQL Server 2017
④. Maven 3.6.1:可以通过一小段描述信息来管理项目的构建。
⑤. Spring Boot 2.1.5:由Pivotal团队提供的全新框架,用来简化新Spring应用的初始搭建以及开发过程。
⑥. IntellJ IDEA:Java编程语言开发的集成环境。

6 系统演示

运行环境

①. Windows10、Open JDK12、SQL Server 2017。
②. 虚拟机下ArchLinux(Kernel: 5.1.9-arch1-1-ARCH) 2G内存单核单CPU、Open JDK11、SQL Server On Linux 2017。

运行步骤

①. 在Windows10下,启动SQL Server服务,创建好数据库后,在PowerShell下执行:

java -jar czmweb-0.0.1-SNAPSHOT.jar  

②. 在Linux下,通过ssh将打包后的文件传送给虚拟机,然后启动虚拟机上的SQL Server服务,创建好数据库后,在Terminal下执行:

java -jar czmweb-0.0.1-SNAPSHOT.jar  

测试结果

①. Windows10下Open JDK12下测试,可正常使用。
②. 虚拟机ArchLinux下Open JDK11测试,正常使用。

运行结果部分截图

7 工作量

在独立设计数据库以及完成本项目的编码实现,花了约5-6整天,生产的仅Java代码共2657行(含注释),结合PowerDesigner生产SQL脚本约890行(含注释)。

文章目录