当前位置: 首页 > news >正文

博客系统 SSM 超强硬核良心推荐之第一弹 - 预备工作

硬核 ! 从 0 到 1 完美实现 SSM 版本的博客系统 , 学会保准不吃亏!

  • 一 . SSM 版本相比于 Servlet 版本的亮点
  • 二 . 初始化数据库
  • 三 . 前端页面
    • 3.1 注册页面
    • 3.2 登录功能
    • 3.3 文章总列表页
    • 3.4 自己的文章列表页
    • 3.5 文章详情页
    • 3.6 编写博客页面

大家好 , 这是新的专栏 , 博客系统 SSM 版本
博客系统很常见 , 这是一个大多数新手都会去做的系统
市面上的资料错综复杂 , 博主带大家从最开始一步一步实现一个完整的博客系统
让大家不会感觉特别困惑 , 也不会再去浪费时间搜寻各种资料
欢迎大家来阅读这个专栏

一 . SSM 版本相比于 Servlet 版本的亮点

  1. 框架升级 : Spring Boot + Spring MVC + MyBatis + MySQL + Redis + jQuery
  2. 密码升级 : 明文存储与 md5 存储是不安全的 , 我们会将密码进行加盐处理
  3. 用户登录状态持久化升级 : 以前的 session 是在内存中存储的 , 我们将 session 存储到 MySQL / Redis 中 , 实现分布式存储

session 是在内存中存储有两个弊端 :

  1. 当你的后台服务器重启之后 , 之前的登录信息就没了
  2. 如果把 session 放到内存中的话 , 程序就只支持单机部署 , 不支持分布式

(张三登陆的时候 , 把登录信息存在了 主机 A 的内存中 , 一会之后 , 张三进行点击操作 , 这时候 , 是 主机 B 来服务张三的 , 但是 主机 B 的内存中并没有张三的登录信息 , 所以就会让张三重新登陆 , 这明显是不合理的)

  1. 实现分页功能
  2. 在项目中引入拦截器 , 升级用户的登录验证

还可以额外实现的功能有 :

  1. 文章保存草稿
  2. 文章定时发布功能
  3. 用户多次登录 , 账号冻结的业务

用一个变量记录错误登录次数 , 超过一个值就把账号冻结

  1. 评论功能
  2. 个人中心(修改密码)
  3. 找回密码
  4. 登陆的时候添加图片验证码 , 增加系统的安全性
  5. 点赞功能

二 . 初始化数据库

20232481750.bmp

三 . 前端页面

前端页面也是不需要我们自己去实现的 , 这里也把前端页面直接分享给大家
点击即可下载
博客系统(静态页面)-2023.zip
我们就带大家来看一眼每个页面的模样

3.1 注册页面

image.png
注册的时候有三个字段 : 用户名、密码、确认密码
其中确认密码是确保用户输入错误 , 如果用户第一次输的太快 , 就可能输入错误 , 确认密码就会保证用户两次输入结果相同 , 保证用户密码输入正确 .
数据库中是没有确认密码的字段的 , 不会提交数据给后端
当用户输入完成之后 , 点击提交 . 页面就会发送一个 ajax 请求给后端 , 后端拿到数据之后会做非空校验 , 验证没有问题就会向用户表中插入一条数据 , 插入数据之后再把插入的结果返回给前端 . 前端根据返回的结果进行不同的提示 .

3.2 登录功能

image.png
登陆的时候 , 用户只需要输入用户名和密码 , 然后点击提交即可
登录和注册其实是很像的 , 但是登录功能在数据库中是查询操作
当用户输入完用户名和密码之后 , 点击提交 , 前端就会发送一个 ajax 请求给后端 , 后端拿到 ajax 请求之后 , 会先进行非空校验 , 非空校验没问题之后会去数据库中查询账号密码是否正确 , 然后将结果返回给前端 , 前端根据返回的状态码进行不同操作

3.3 文章总列表页

image.png
在最下面 , 我们实现了分页功能

3.4 自己的文章列表页

image.png
其中 , 我们这个页面可以点击 查看原文 , 点击之后就会跳转到详情页面

3.5 文章详情页

image.png
后续我们还可以实现展示阅读量

3.6 编写博客页面

image.png
我们的修改文章也可以使用这个页面
当 URL 后面没有任何参数的时候 , 访问的就是编写博客的页面
如果我们在 URL 后面添加了 ?id=1的话 , 那我们就认为他是修改文章 , 就会拿到 URL 里面的参数 , 发送 ajax 请求给后端 , 查询到当前这篇文章的信息之后 , 返回给前端进行显示 , 显示出来之后再点击发布文章 , 这时就是修改文章了 .


到这里 , 准备阶段就结束了 , 接下来 , 就会带大家实现核心代码
下一篇博客再见~
在这里插入图片描述

http://www.lryc.cn/news/6575.html

相关文章:

  • [Web] 简单瀑布流布局实现
  • 多线程之死锁,哲学家就餐问题的实现
  • UTF-8编码
  • likeshop单商户SaaS版V1.8.2说明!
  • 算法训练营 day46 动态规划 最后一块石头的重量 II 目标和 一和零
  • nginx-host绕过实例复现
  • Java学习记录day9
  • ActiveReports.NET 17.0 Crack by Xacker
  • 【计算机网络】传输层TCP协议
  • Mysql5.7安装【Windows版】
  • 分布式一致性算法Raft原理图释
  • 网络安全-字典生成-crunch
  • 闪光桐人の实习日记
  • PostgreSQL 常见配置参数
  • JAVA 常用类型之String结构
  • 二三层网络设备封装与解封装原理
  • 9、MyBatis框架——使用注解开发实现数据库增删改查操作、一级缓存、二级缓存、MyBatis实现分页
  • C++STL剖析(六)—— set和multiset的概念和使用
  • SpringColud第四讲 Nacos的Windows安装方式和Linux的安装方式
  • 微服务项目【网关服务限流熔断降级分布式事务】
  • 【情人节用Compose给女神写个爱心动画APP】
  • GUI swing和awt
  • 速通Spring
  • 【C++】C++入门
  • Linux网络技术学习(五)—— 网络设备初始化(I)
  • [技术选型] ClickHouse和StarRocks的介绍
  • 算法刷题打卡第90天:表现良好的最长时间段
  • Python语言零基础入门教程(十七)
  • C语言中大小端问题
  • vue2+微前端qiankun从搭建到部署的实践(主子应用切换;集成vue3+vite3子应用)