MyBlog 总结

1. 项目开发背景

经过前一阵子对 HTTP 协议以及 Servlet 进行了较为深入的学习之后, 为了更加深入的理解这些知识, 从而开发了一个较为简单的博客系统, 作为这部分知识的练习.
通过本次博客系统, 使得我可以更加了解 HTTP协议中的 客户端-服务端 模式, 以及 Servlet 和 JDBC 连接数据库的用法.

2. 需求分析

本次设计的简易版博客系统, 具有以下几个功能:

  1. 用户可以进行注册, 成为本系统的合法用户, 同时在注册后可以保持登录状态.
  2. 用户可以进行登录, 从而进入到登录状态.
  3. 用户可以进行博客文章的发表(前提是用户必须在登录状态下)
  4. 用户可以查看系统中的博客文章列表
  5. 用户可以查看一篇具体的博客文章, 查看该文章中的详情内容.

3. 数据库设计

根据以上的需求分析, 不难找出, 本系统共分为两类实体, 一个是用户, 另一个是博客文章.
对于用户而言, 其必须要有的字段是: 用户名, 密码;
在这里插入图片描述
对于博客文章而言, 其必须要有的字段是: 用户 id (作者信息), 标题, 正文, 发表时间.
在这里插入图片描述
用户和博客文章之间是 1 : n 的关系, 也就是说, 一个用户可以发表多篇文章, 但是一篇文章只能由一个用户发表.

4. 项目总结

对于本次设计实现的博客系统, 我所做了以下的总结:

  1. 搭建一个 Web 项目框架.
    这里需要注意的是: 项目中会使用到一些第三方 jar 包. 而我们使用的 Tomcat 通常情况下只会到自己的 lib 目录下寻找 jar 包, 如果导入的包在 Tomcat 的 lib 下不存在, 就需要将其放入到 WEB-INF 的 lib 目录中, 供 Tomcat 查找, 否则, 系统将会报 404 错误.
    在这里插入图片描述
  2. 使用了 Servlet :
    什么是 Servlet? Servlet 就是运行在 Web 服务器上, 作为浏览器请求与数据库或者其他应用程序之间的中间层.
    通常情况下, Servlet 会读取浏览器发送的一些 显式数据(用户输入的内容, 以及前端表单信息等) 和 隐式数据(Cookie等), 处理这些数据并生成结果, 再发送成显式数据或者隐式数据给客户端.
  3. 使用了 Session:
    在查看首页, 发布文章的时候, 都涉及到了用户是否已经登录的问题.
    通常情况下, 用户在第一次登录的时候, 服务器会将用户的信息存入到 Session 中, 并将 SessionID 返回给 Cookie. 但是本项目中, 由于 Tomcat 默认的 Session 服务存储是内存级别的, 一旦 Tomcat 重启或者重新部署, 都会造成 Session 的丢失, 所以只有将 Session 服务存成文件或者存储于数据库中, 才可以成为持久 Session.

https://blog.csdn.net/HHHuYYYue/article/details/107420455. 这里详细介绍了 Session 和 Cookie 的知识点

  1. 使用了 JDBC 进行数据库的连接
    因为要建立持久 Session, 我们可以选择将其存储到数据库中, 这里就使用到了 JDBC, 从而进行数据库的连接.
    在这里插入图片描述
    在数据库进行连接的时候, 采用了单例模式中的饿汉模式.

https://blog.csdn.net/HHHuYYYue/article/details/107158818. 这里详细介绍了单例模式.

  1. 前端发起 Ajax 请求, 并从服务端返回博客文章列表的 JSON 格式数据.
    在这里插入图片描述

5. 代码

项目详细代码如下:
https://github.com/HHHHH-Y/My-Blog-System.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值