# 简易版微博客系统
## 一、项目简介
设计实现一个简易的类“微博”的单体式 Web 应用,其中需要实现的功能包括基础功能和拓展功能。
基础功能包括:
用户账号服务:用户注册、用户登录、用户退出
微博查看:微博列表,支持按发布时间、评论数、点赞数等排序方式,微博列表可分页,未注册用户可以查看微博内容及评论。
微博发布:注册用户可以发布微博,微博内容可包含图片
评论:注册用户可对微博发布评论,点赞
关注:支持用户可以关注其他用户
拓展功能包括:
登录密码输入错误 3 次后账号锁定 1 小时
支持通过注册邮箱重置密码
支持@用户功能
采用 AJAX 技术减少界面的整体刷新次数
## 二、开发思路
1. 便捷性
用户仅需要简单的登录和注册即可进入主页面,并且登录用户具有发布微博、点赞微博、发表评论、关注用户等权限,即使是非注册用户,也可以直接查看主页上的微博内容和微博下的评论内容
2. 简洁性
整个系统总计 6 页面,分别是用户服务的注册、登录、重置密码页面,以及整体的主页、个人主页、错误返回页面。系统简洁明了,各项功能和页面的导览清晰可见,对于用户有较好的体验效果,对于游客也有良好的用户体验。
3. 灵活性
系统拥有排序和分页功能,对于主页微博列表,可以根据三种不同的参数进行排序分页,适用于不同场景的微博查看,同时对于用户点赞、关注和评论等功能有着较好的灵活选择性。
## 三、开发环境
### 3.1 环境综述
基于 Spring MVC+SpringBoot+H2 数据库 +Bootstrap4.0 的开发,
开发环境为 Intellij IDEA 2020.2.3 工具
在 Chrome 浏览器环境和 Microsoft Edge 环境下进行调试
### 3.2 环境介绍
#### 3.2.1 Spring MVC
Spring Web MVC 是一种基于 Java 的实现了 Web MVC 设计模式的请求驱动类型的轻量级 Web 框架,即使用了 MVC 架构模式的思想,将 Web 层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC 即可以用来简化我们日常的 Web 开发。
Spring Web MVC 也是服务到工作者模式的实现,但进行可优化。前端控制器是 DispatcherServlet;应用控制器其实拆为处理器映射器(Handler Mapping)进行处理器管理和视图解析器(View Resolver)进行视图管理;页面控制器/动作/处理器为 Controller 接口(仅包含 ModelAndView handleRequest(request, response) 方法)的实现(也可以是任何的 POJO 类);支持本地化(Locale)解析、主题(Theme)解析及文件上传等;提供了非常灵活的数据验证、格式化和数据绑定机制;提供了强大的约定大于配置(惯例优先原则)的契约式编程支持。
在 Spring 的 Web MVC 框架提供了模型 - 视图 - 控制器架构以及可用于开发灵活,松散耦合的 Web 应用程序准备的组件。
#### 3.2.2 Spring Boot
SpringBoot 是由 Pivotal 团队在 2013 年开始研发、2014 年 4 月发布第一个版本的全新开源的轻量级框架。它基于 Spring4.0 设计,不仅继承了 Spring 框架原有的优秀特性,而且还通过简化配置来进一步简化了 Spring 应用的整个搭建和开发过程。另外 SpringBoot 通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。
SpringBoot 应用系统开发模板的基本架构设计从前端到后台进行说明:前端常使用模板引擎,主要有 FreeMarker 和 Thymeleaf,它们都是用 Java 语言编写的,渲染模板并输出相应文本,使得界面的设计与应用的逻辑分离,同时前端开发还会使用到 Bootstrap、AngularJS、jQuery 等;在浏览器的数据传输格式上采用 JSON,非 XML,同时提供 RESTfulAPI;SpringMVC 框架用于数据到达服务器后处理请求;到数据访问层主要有 Hibernate、MyBatis、JPA 等持久层框
![](https://www.writebug.com/myres/static/uploads/2021/12/6/62711de5d910a8aed78d3b3fad252c53.writebug)
#### 3.2.3 H2 数据库
H2 是一个 [Java](https://baike.baidu.com/item/Java) 编写的[关系型数据库](https://baike.baidu.com/item/%E5%85%B3%E7%B3%BB%E5%9E%8B%E6%95%B0%E6%8D%AE%E5%BA%93),它可以被嵌入 Java 应用程序中使用,或者作为一个单独的数据库服务器运行。
H2 数据库的前身是 HypersonicSQL,它的名字的含义是 Hypersonic2,但是它的代码是从头开始编写的,没有使用 HypersonicSQL 或者 [HSQLDB](https://baike.baidu.com/item/HSQLDB) 的代码。
H2 提供了一个十分方便的 Web 控制台用于操作和管理数据库内容。H2 还提供兼容模式,可以兼容一些主流的数据库,因此采用 H2 作为开发期的数据库非常方便。
![](https://www.writebug.com/myres/static/uploads/2021/12/6/9baf70f2151d8b04e48f84f81fcf3c73.writebug)
#### 3.2.4 Bootstrap 4.0 框架
Bootstrap 是美国 [Twitter](https://baike.baidu.com/item/Twitter/2443267) 公司的设计师 Mark Otto 和 Jacob Thornton 合作基于 HTML、CSS、[JavaScript](https://baike.baidu.com/item/JavaScript/321142) 开发的简洁、直观、强悍的[前端](https://baike.baidu.com/item/%E5%89%8D%E7%AB%AF/5956545)开发框架,使得 Web 开发更加快捷。Bootstrap 提供了优雅的 HTML 和 CSS 规范,它即是由动态 CSS 语言 [Less](https://baike.baidu.com/item/Less) 写成。Bootstrap 一经推出后颇受欢迎,一直是 [GitHub](https://baike.baidu.com/item/GitHub) 上的热门开源项目,包括 [NASA](https://baike.baidu.com/item/NASA) 的 MSNBC(微软全国广播公司)的 Breaking News 都使用了该项目。 国内一些移动开发者较为熟悉的框架,如 [WeX5](https://baike.baidu.com/item/WeX5) 前端开源框架等,也是基于 Bootstrap 源码进行性能优化而来。Bootstrap 是全球最受欢迎的前端组件库,用于开发响应式布局、移动设备优先的 Web 项目。
Bootstrap 是一套用于 HTML、CSS 和 JS 开发的开源工具集。利用其提供的 Sass 变量和大量 mixin、响应式栅格系统、可扩展的预制组件、基于 jQuery 的强大的插件系统,能够快速开发出原型或者构建整个 app。
![](https://www.writebug.com/myres/static/uploads/2021/12/6/dc1c5565cbcbe282948ed835f00489d5.writebug)
#### 3.2.5 阿里云对象存储 OSS
对象存储 OSS 是海量、安全、低成本、高可靠的云存储服务,提供 99.9999999999%(12 个 9)的数据持久性。
OSS 作为阿里巴巴全集团数据存储的核心基础设施,多年支撑双十一业务高峰,历经高可用与高可靠的严苛考验。OSS 的多重冗余架构设计,为数据持久存储提供可靠保障。同时,OSS 基于高可用架构设计,消除单节故障,确保数据业务的持续性。
对于微博中的图片,我们使用 OSS 进行存储,通过 url 进行访问。
![](https://www.writebug.com/myres/static/uploads/2021/12/6/548d4d2a1124379ae1b37d65cbc10d41.writebug)
## 四、总体设计
### 4.1 用户服务
单个用户服务包含四个大块,用户注册、用户登录、用户退出以及用户通过邮箱重置密码服务
#### 4.1.1 用户注册
其中用户注册需要提供以下信息
用户名:用户自拟,不得与已有用户名重复且长度需小于十位
邮箱:符合正规邮箱格式,不得重复注册
密码:用户自拟,符合密码规范
用户注册若不满足上述任意一个条件,都会弹窗警告,并允许用户再次提交,直到注册
成功。注册用户可拥有发微博、发评论、关注和点赞等功能权限,而游客用户仅拥有对微博和评论进行查看的权限。
#### 4.1.2 用户登录
注册成功的用户即可根据用户
没有合适的资源?快使用搜索试试~ 我知道了~
基于Spring MVC+SpringBoot+H2 数据库开发的简易版微博客系统【100012726】
共63个文件
java:18个
class:17个
html:12个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 11 浏览量
2023-06-12
11:06:35
上传
评论
收藏 3.77MB ZIP 举报
温馨提示
设计实现一个简易的类“微博”的单体式 Web 应用,其中需要实现的功能包括基础功能和拓展功能。 基础功能包括: 用户账号服务:用户注册、用户登录、用户退出 微博查看:微博列表,支持按发布时间、评论数、点赞数等排序方式,微博列表可分页,未注册用户可以查看微博内容及评论。 微博发布:注册用户可以发布微博,微博内容可包含图片 评论:注册用户可对微博发布评论,点赞 关注:支持用户可以关注其他用户 拓展功能包括: 登录密码输入错误 3 次后账号锁定 1 小时 支持通过注册邮箱重置密码 支持@用户功能 采用 AJAX 技术减少界面的整体刷新次数
资源推荐
资源详情
资源评论
收起资源包目录
100012726-基于Spring MVC+SpringBoot+H2 数据库 +Bootstrap4.0开发的简易版微博客系统.zip (63个子文件)
fweibo
LICENSE 1KB
web开发大作业测试文档.pdf 774KB
Web开发大作业技术文档.docx 1.93MB
weibo-源代码
HELP.md 1KB
mvnw.cmd 6KB
pom.xml 3KB
src
test
java
cn
bupt
edu
weibo
WeiboApplicationTests.java 217B
main
resources
application.properties 261B
templates
logon.html 7KB
my.html 28KB
login.html 6KB
index.html 31KB
error.html 232B
Reset.html 7KB
static
logon.js 427B
index.js 2KB
java
cn
bupt
edu
weibo
WeiboApplication.java 320B
controller
ResetController.java 2KB
IndexController.java 11KB
LogonController.java 2KB
LoginController.java 2KB
MyController.java 7KB
WebController.java 4KB
dao
CommentRepository.java 282B
UserInfoRepository.java 297B
UserRepository.java 281B
WeiboRepository.java 491B
entity
UserInfo.java 376B
Weibo.java 773B
Comment.java 392B
User.java 645B
json
CommentJSON.java 201B
WeiboJSON.java 228B
weibo.iml 13KB
target
classes
application.properties 333B
templates
logon.html 7KB
my.html 28KB
login.html 6KB
index.html 32KB
error.html 232B
Reset.html 7KB
cn
bupt
edu
weibo
controller
MyController.class 7KB
LoginController.class 3KB
ResetController.class 2KB
LogonController.class 3KB
IndexController.class 12KB
dao
UserRepository.class 498B
CommentRepository.class 528B
WeiboRepository.class 808B
UserInfoRepository.class 568B
WeiboApplication.class 738B
entity
User.class 6KB
Weibo.class 7KB
UserInfo.class 3KB
Comment.class 4KB
json
WeiboJSON.class 3KB
CommentJSON.class 3KB
static
logon.js 427B
index.js 2KB
test-classes
cn
bupt
edu
weibo
WeiboApplicationTests.class 536B
mvnw 10KB
Web开发大作业技术文档.pdf 1.48MB
README.md 34KB
共 63 条
- 1
资源评论
神仙别闹
- 粉丝: 2674
- 资源: 7640
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于matlab实现用有限元法计算电磁场的Matlab工具 .rar
- 基于matlab实现有限元算法 计算电磁场问题 边界条件包括第一类边界和第二类边界.rar
- 基于matlab实现用于计算不同车重下的电动汽车动力性和经济性.rar
- 基于matlab实现遗传算法求解多车场车辆路径问题 有多组算例可以用.rar
- 浏览器.apk
- 基于matlab实现是一个matlab中的power system 中搭建的一个模型
- 基于JSP毕业设计-教学管理系统(源代码+论文).zip
- 基于JSP毕业设计-家政管理系统-毕业设计.zip
- 基于Python实现淘宝商品评论采集(含逆向)源代码
- 基于matlab实现多目标进化算法NSGAⅡ&Matlab讲解.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功