简单博客系统 - 项目实战

(以模板Listener方式实现)

前端页面展示:

注册页面:

 

 用户登录:

主页: 

博客正文:

书写博客:

一、简单分析使用场景

简单分析一下:

  • 哪些场景需要认证后才能使用
  • 每个场景下各自有哪些资源
  • 分析各个资源时 动态 / 静态
  • 初步订下各资源路径
  • 各个资源要支持哪个方法

1.首页/博客列表页 (需要认证,只展示当前登录用户列表)

        1)入口页 …… 判断认证;从数据库中读取数据;=》只能动态POST

                资源路径:/

        2)样式页         =》        静态GET

        3)图片资源         =》     静态GET

2.博客详情页 (需要认证)

3.登录/注册页面(用户管理场景)

        1)表单资源 =》 静态GET

                资源路径:/login.html    /register.html

        2)验证资源 =》 动态POST

                资源路径:/do-login      /do-register

4.文章发表页 (需要认证)

二、数据库建表

思考方式:

  • 区分角色
  • 根据不同角色,讲好不同的用户故事(不同的场景)
  • 抽象出实体
  • 根据实体 + 用户故事 + 需求,抽象出关系
  • 针对关系,设计表
  • 针对需求,找出各个表的字段,以及各个字段的约束
  • 完成建表
  • 尝试用SQL语句讲述用户故事

用户表 users:

  1. 主键 id(自增、int )
  2. 用户名 username(不能重复、varchar)
  3. 密码 password (varchar)
  4. 昵称 nickname (可以重复、varchar)
  5. 头像地址 avatar (varchar)
  6. Gitee / GitHub地址 git (varchar)
users

文章表:

  1. 主键 aid (自增、int)
  2. 用户id uid(int)
  3. 文章标题 title(varchar)
  4. 文章分类 type(varchar)
  5. 文章正文内容 content(内容较长,使用text)
  6. 发表时间 publshed_at(date)
articles

 三、逻辑梳理

注册:

  1. 表单资源:需要用户填写 5 个内容,分别是 用户名、密码、昵称、头像地址和git地址;
  2. 注册过程(以下为流程图)

登录:

用户提交凭证 (用户名 + 密码)==》 认证凭证(通过数据库中数据) ==》 生成凭证标识给用户(保存session、cookie)

检查用户是否已经认证 ==》 判断凭证标识是否已经存在(检查 session 中是否有认证用户)

首页/博客列表页:

  1. 当前登录用户(要求用户必须登录)从 session 中获取
  2. 文章列表,按发表时间倒叙
  3. 发表过多少文章(文章总数)
  4. 发表过多少类文章(文章分类)

四、相关代码

整个代码已开源,上传至本人gitee上,下方为链接地址:

https://gitee.com/mind-like-a-valley/java-learning/tree/master/Mini-Project-Test/%E5%8D%9A%E5%AE%A2%E7%B3%BB%E7%BB%9F%E6%A8%A1%E6%9D%BFhttps://gitee.com/mind-like-a-valley/java-learning/tree/master/Mini-Project-Test/%E5%8D%9A%E5%AE%A2%E7%B3%BB%E7%BB%9F%E6%A8%A1%E6%9D%BF

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值