Springboot+JPA+Thymeleaf 校园博客完整小网站
此项目是一个比较简易的校园博客。
麻雀虽小五脏俱全,虽然是比较简易的但是涉及的知识点还是比较全面的。
此项目涵盖了【知识林】中Springboot和Thymeleaf中所有知识点的内容。
主要功能有:
初始化系统
在
resources/application-dev.properties中配置了数据库的相关配置,可以修改spring.datasource相关的东西以修改数据库启动项目后访问地址:
/init进行初始化(需要输入管理员昵称、用户名和密码)访问
/admin登陆到后台管理,在系统配置中可修改系统名称、管理员邮箱(用于接收各事件的邮件通知)等。在
网站配置中可以设置学校名称用于前台显示。
用户注册
通过邮箱注册,注册时需要发送验证码到注册邮箱,验证通过才能注册。注册时判断邮箱地址是否已存在,如果存在则提示且不能再次注册。
找回密码,忘记密码是可通过申请邮箱地址找回,也通过发送验证码的方式,验证码验证通过后生成一个随机密码发送至注册邮箱中。
使用邮箱地址和登陆密码进行登陆
登陆后可修改自己的基本信息,如:姓名、座右铭、个人介绍及登陆密码等。
邮件发送可以参考另一篇文章《Springboot 之 JavaMailSender发送电子邮件》
博文管理
博文管理分为博文分类管理和博文内容管理
点“我的分类”即可进入分类管理,可对自己的分类进行新增、修改和删除操作;
点“我的博文”即可进入博文内容管理,可对自己发布的博文进行修改,也可新增,在新增时可以直接新增分类。
在博文内容管理中使用
wangEditor在线编辑器,已配置好图片上传的服务端程序;
后台管理
后台管理功能属于系统管理人员操作,可以参考另一个纯净项目《完整项目基础架构精简版-实现权限管理》
- 权限管理
在权限管理中有:菜单管理、角色管理、用户管理,这三块功能属于系统功能,在系统初始化时自动生成。
菜单管理:可修改菜单名称、排序、图标(图标来源于fontawesome.io或v3.bootcss.com);
角色管理:可添加、修改、删除角色,也可为角色授权资源菜单;
用户管理:可添加、修改、删除用户,也可以为用户分配角色,只有分配有角色的用户才可以登陆系统,且只能访问所拥有角色权限范围内的功能。
- 系统管理
系统配置:在系统管理中目前只有这一个功能,用于设置网站名称、系统管理员邮箱地址(用于接收提示邮件,包括:用户注册通知、用户发布博文的通知、用户修改博文的通知)等。
- 系统应用
系统应用属于网站管理功能
网站配置:目前可设置学校名称,将显示在前面页面中;
博文管理:用于管理用户发布的博文信息,可设置博文的属性(包括是否前台显示、是否为推荐);
用户管理:查看从前台注册的用户(即网站用户)。
未完成功能
在这个版本中暂时不写博文点评功能,此功能在技术层面上讲没有任何难点,所以暂时不实现。
访问
初始化页面:http://sblog.zslin.com/init(已经初始化过不能再重复初始化)
后台管理:http://sblog.zslin.com/admin
后台管理用户名:admin
后台管理用户密码:111111
说明
本项目在Github上的地址:https://github.com/zsl131/school-blog
本项目作者:知识林
项目截图
本人页面设计水平太差,先随便设计点效果出来主要是演示后台程序功能,所以页面设计先暂时放一放。
用户注册页面效果:
![]()
用户信息信息、密码修改页面:
![]()
添加分类页面效果:

删除信息提示效果:

添加博文页面效果:
![]()
博文列表页面效果:
![]()
404错误页面效果:
![]()
500错误页面效果:
![]()
后台管理页面效果:
![]()
http://www.zslin.com/web/article/detail/35
Springboot+JPA+Thymeleaf 校园博客完整小网站的更多相关文章
- 技术博客--微信小程序canvas实现图片编辑
技术博客--微信小程序canvas实现图片编辑 我们的这个小程序不仅仅是想给用户提供一个保存和查找的平台,还希望能给用户一个展示自己创意的舞台,因此我们实现了图片的编辑部分.我们对对图片的编辑集成了很 ...
- 技术博客——微信小程序的架构与原理
技术博客--微信小程序的架构与原理 在两个月的微信小程序开发过程中,我曾走了不少弯路,也曾被很多现在看来十分可笑的问题所困扰.这些弯路与困扰,基本上都是由于当时对小程序的架构理解不够充分,对小程序的原 ...
- 【原】无脑操作:IDEA + maven + Shiro + SpringBoot + JPA + Thymeleaf实现基础授权权限
上一篇<[原]无脑操作:IDEA + maven + Shiro + SpringBoot + JPA + Thymeleaf实现基础认证权限>介绍了实现Shiro的基础认证.本篇谈谈实现 ...
- 【原】无脑操作:IDEA + maven + Shiro + SpringBoot + JPA + Thymeleaf实现基础认证权限
开发环境搭建参见<[原]无脑操作:IDEA + maven + SpringBoot + JPA + Thymeleaf实现CRUD及分页> 需求: ① 除了登录页面,在地址栏直接访问其他 ...
- 技术博客——微信小程序UI的设计与美化
技术博客--微信小程序UI的设计与美化 在alpha阶段的开发过后,我们的小程序也上线了.看到自己努力之后的成果大家都很开心,但对比已有的表情包小程序,我们的界面还有很大的提升空间,许多的界面都是各个 ...
- springboot+jpa+thymeleaf增删改查的示例(转)
这篇文章介绍如何使用jpa和thymeleaf做一个增删改查的示例. 先和大家聊聊我为什么喜欢写这种脚手架的项目,在我学习一门新技术的时候,总是想快速的搭建起一个demo来试试它的效果,越简单越容易上 ...
- springboot(十五):springboot+jpa+thymeleaf增删改查示例
这篇文章介绍如何使用jpa和thymeleaf做一个增删改查的示例. 先和大家聊聊我为什么喜欢写这种脚手架的项目,在我学习一门新技术的时候,总是想快速的搭建起一个demo来试试它的效果,越简单越容易上 ...
- 基于SpringBoot从零构建博客网站 - 技术选型和整合开发环境
技术选型和整合开发环境 1.技术选型 博客网站是基于SpringBoot整合其它模块而开发的,那么每个模块选择的技术如下: SpringBoot版本选择目前较新的2.1.1.RELEASE版本 持久化 ...
- Spring MVC+Hibernate JPA搭建的博客系统项目中所遇到的坑
标签: springmvc hibernate 2016年12月21日 21:48:035133人阅读 评论(0) 收藏 举报 分类: Spring/Spring MVC(6) Hibernate ...
随机推荐
- 机器人操作系统ROS(indigo)与三维仿真软件V-Rep(3.2.1)通信接口使用笔记
关键字:ROS(indigo),V-Rep(3.2.1), vrep_ros_bridge(lagadic). vrep_ros_bridge提供了V-Rep和ROS之间的通信接口,可以实现使用ROS ...
- 数据包接收系列 — IP协议处理流程(二)
本文主要内容:在接收数据包时,IP协议的处理流程. 内核版本:2.6.37 Author:zhangskd @ csdn blog 我们接着来看数据包如何发往本地的四层协议. ip_local_del ...
- 排队时延(Queuing delay)
网络时延的构成 Network delay including four parts: Processing delay - time routers take to process the pack ...
- Android BLE与终端通信(三)——客户端与服务端通信过程以及实现数据通信
Android BLE与终端通信(三)--客户端与服务端通信过程以及实现数据通信 前面的终究只是小知识点,上不了台面,也只能算是起到一个科普的作用,而同步到实际的开发上去,今天就来延续前两篇实现蓝牙主 ...
- Leetcode_278_First Bad Version
本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/49719255 You are a product mana ...
- 实现Redhat Linux 6和Windows通过Windows Server AD统一认证并共享访问Oracle ZS存储系统
Windows Server 2012 AD设置 1. 建立新的组织单位OU 为用户提前建立好OU,是为了AD用户管理简单清晰. 2. 建立新的用户和用户组 建立新的用户的时候,要同时将用户归属到 ...
- DIV与SPAN之间有什么区别
DIV与SPAN之间有什么区别 DIV 和 SPAN 元素最大的特点是默认都没有对元素内的对象进行任何格式化渲染.主要用于应用样式表(共同点). 两者最明显的区别在于DIV是块元素,而SPAN是行内元 ...
- ThreadPoolExecutor的运转机制
最近发现几起对ThreadPoolExecutor的误用,其中包括自己,发现都是因为没有仔细看注释和内部运转机制,想当然的揣测参数导致,先看一下新建一个ThreadPoolExecutor的构建参数: ...
- redis主从,哨兵回忆手册
redis主从 持久化的开启与主从集群是否生效无关系 Slave Server同样是以非阻塞的方式完成数据同步.在同步期间,如果有客户端提交查询请求,Redis则返回同步之前的数据(注意初次同步则会阻 ...
- [更新]单线程的JS引擎与 Event Loop
先来思考一个问题,JS 是单线程的还是多线程的?如果是单线程,为什么JavaScript能让AJAX异步发送和回调请求,还有setTimeout也看起来像是多线程的?还有non-blocking IO ...