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 ...
随机推荐
- unbutu 安装java教程
这两个讲的很好: http://www.linuxidc.com/Linux/2012-11/75001.htm http://www.cnblogs.com/fnng/archive/2013/01 ...
- RHEL6非交互式工具sshpass和expect安装
RHEL6非交互式工具sshpass和expect安装 1 sshpass 在rhel6.4上,没有sshpass的软件包,无法采用yum方式安装.从源码编译安装非常简单. 1) 下载sshpass源 ...
- Android全局异常处理 实现自己定义做强制退出和carsh日志抓取
在做android项目开发时,大家都知道都会遇到程序报错或者Anr异常,会弹出来一个强制退出的弹出框,对于开发人员是好事,但是对于用户体验和 UI实在毫无违和感,别说用户接受不了,就连我们自己本身可能 ...
- OpenCV——PS 滤镜, 曝光过度
算法原理可以参考: PS 滤镜,曝光过度 #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITHM_H_INCLUDED #include <io ...
- Socket层实现系列 — bind()的实现(二)
本文主要内容:bind()的TCP层实现.端口的冲突处理,以及不同内核版本的实现差异. 内核版本:3.6 Author:zhangskd @ csdn blog TCP层实现 SOCK_STREAM套 ...
- obj-c编程07:异常处理
好了,到了相对轻松的话题,也是所有语言无可避免的话题:异常的处理. 我们知道对于一些常见的语言,"异常"是逃不开避不掉的主题:C中相对原始的signal或依赖系统异常支持(比如wi ...
- 使用vs2010 opencv2.4.4编译release版本程序
大体上要注意一下几点内容: 1.vc++目录的选择上,库目录选择为opencv目录中的staticlib目录 2.在链接->输入->附加依赖库,中添加,相应的staticlib库目录中的所 ...
- 熊猫猪新系统测试之三:iOS 8.0.2
本来本猫要等到8.1版本出来后再做测试的,结果等来等去就是迟迟不推送更新呀!说好10月20号的iOS 8.1呢?为了一鼓作气写完,就先不等了.先拿手头的iOS 8.0.2系统做一下测试吧! 8.x系统 ...
- Integer 和int 比较
在jdk1.5的环境下,有如下4条语句: 1 2 3 4 Integer i01 = 59; int i02 = 59; Integer i03 =Integer.valueOf(59); Integ ...
- HTML DOM 实例
DOMAnchor 对象 更改一个链接的文本.URL 以及 target 使用 focus() 和 blur() 向超链接添加快捷键 Document 对象 使用 document.write() 向 ...