个人博客系统
1. 项目介绍
开发一款个人博客系统,用户可进行博客编写、发布、删除、详情查看等功能。
项目涉及前端页面有:login.html、register.html、list.html、edit.html、detail.html;
2. 技术栈
- 项目管理构建工具:Maven框架;
- 前端实现:JS、HTML、CSS、JQuery框架,使用Editor博客插件用于博客编辑;
- 后端实现:Java语言开发、Spring、SpringMVC、Mybatis及SpringBoot框架;
- 数据库:MySQL数据库;
3. 项目功能
3.1 用户注册功能register.html
- 点击注册可进行用户注册,注册时填写对应信息;
- 通过用户名+密码判断该用户是否存在:
1)如果已经存在则进行提示,然后跳转到登录页面;
2)如果用户不存在,则完成注册,然后跳转到登录页面;; - 用户头像可自选本地图像,如不指定使用系统默认图像;
3.2 用户登录功能login.html
- 在登录页面,输入用户名、密码可进行系统登录;
- 登录功能通过对用户名+密码判断该用户是否存在:
1)如果用户不存在则进行提示,然后跳转到注册页面;
2)如果用户存在,则登录成功,然后跳转到列表页面;; - 成功登录时,需要添加Session,保存当前用户信息,然后跳转到博客列表页面list.html;
3.3 用户注销功能
- 点击注销按钮, 清空Session,退出博客系统,自动跳转到登录页面;
3.4 发布博客功能edit.html
- 该功能只有在用户登录情况下可以进入,也就是需要使用Session和Cookie机制验证是否存在当前用户;
- 使用editor插件,博客内容编写由该组件完成;
- 在列表页可点击发布博客按钮进行博客发布;
- 发布成功的博客需要展示在列表页第一条;
- 发布成功后自动跳转到列表页;
3.5 用户对应所有博客展示功能list.html
- 该页面作为整个博客系统的入口页(可进行注册、登录、发布博客、用户注销):
1)如果用户未登录,则自动跳转到登录页面;
2)如果已经登录,则进行内容展示; - 该功能只有在用户登录情况下可以进行内容展示,也就是需要使用Session和Cookie机制验证是否存在当前用户;
- 列表页分为个人信息模块以及博客列表模块两部分,其中具体内容需要使用Js通过Ajax请求获取数据,渲染页面:
1)个人信息模块:/user/current.json,包括用户头像、用户名等信息;
2)博客列表模块:/article/blogs.json,包括用户对应所有博客,每个博客采用正文前100字作为摘要,详细内容可点击“查看全文”按钮进行查看;
3.6 查看博客详情功能details.html
- 该功能只有在用户登录情况下可以进行内容展示,也就是需要使用Session和Cookie机制验证是否存在当前用户;
- 详情页分为个人信息模块以及博客内容模块两部分,其中具体内容需要使用Js通过Ajax请求获取数据,渲染页面:
1)个人信息模块:/user/current.json,包括用户头像、用户名等信息;
2)博客列表模块:/article/detail.json,包括博客全文、发表时间、博客标题信息;
3.7 删除博客功能
- 进入博客详情页面,点击删除按钮可删除该博客;
- 无论删除是否成功,自动跳转到列表页;
4. 数据库表设计
- 采用MySQL数据库;
- 博客系统对应数据表由三个构成:用户信息表、用户对应博客表、用户头像表;
- 用户头像信息以二进制形式单独存储,在用户信息表中通过头像URL建立联系;
- 博客表中博客通过用户编号uid于用户联系起来;