本文所属【知识林】:http://www.zslin.com/web/article/detail/35

此项目是一个比较简易的校园博客。
麻雀虽小五脏俱全,虽然是比较简易的但是涉及的知识点还是比较全面的。

此项目涵盖了【知识林】中SpringbootThymeleaf中所有知识点的内容。

主要功能有:

  1. 系统管理

    • 系统初始化
    • 菜单管理
    • 角色管理
    • 用户管理
    • 系统配置管理
  2. 用户注册

    • 邮件验证码实现
    • 用户登陆
    • 找回密码
  3. 博文分类管理

    • 添加分类
    • 修改分类
  4. 博文管理

    • 添加博文
    • 修改博文
  5. 博文评论(未实现)


初始化系统

  • resources/application-dev.properties中配置了数据库的相关配置,可以修改spring.datasource相关的东西以修改数据库

  • 启动项目后访问地址:/init进行初始化(需要输入管理员昵称、用户名和密码)

  • 访问/admin登陆到后台管理,在系统配置中可修改系统名称、管理员邮箱(用于接收各事件的邮件通知)等。

  • 网站配置中可以设置学校名称用于前台显示。

用户注册

  • 通过邮箱注册,注册时需要发送验证码到注册邮箱,验证通过才能注册。注册时判断邮箱地址是否已存在,如果存在则提示且不能再次注册。

  • 找回密码,忘记密码是可通过申请邮箱地址找回,也通过发送验证码的方式,验证码验证通过后生成一个随机密码发送至注册邮箱中。

  • 使用邮箱地址和登陆密码进行登陆

  • 登陆后可修改自己的基本信息,如:姓名、座右铭、个人介绍及登陆密码等。

邮件发送可以参考另一篇文章《Springboot 之 JavaMailSender发送电子邮件》

博文管理

博文管理分为博文分类管理和博文内容管理

  • 点“我的分类”即可进入分类管理,可对自己的分类进行新增、修改和删除操作;

  • 点“我的博文”即可进入博文内容管理,可对自己发布的博文进行修改,也可新增,在新增时可以直接新增分类。

  • 在博文内容管理中使用wangEditor在线编辑器,已配置好图片上传的服务端程序;

后台管理

后台管理功能属于系统管理人员操作,可以参考另一个纯净项目《完整项目基础架构精简版-实现权限管理》

  • 权限管理

在权限管理中有:菜单管理角色管理用户管理,这三块功能属于系统功能,在系统初始化时自动生成。

菜单管理:可修改菜单名称、排序、图标(图标来源于fontawesome.iov3.bootcss.com);

角色管理:可添加、修改、删除角色,也可为角色授权资源菜单;

用户管理:可添加、修改、删除用户,也可以为用户分配角色,只有分配有角色的用户才可以登陆系统,且只能访问所拥有角色权限范围内的功能。

  • 系统管理

系统配置:在系统管理中目前只有这一个功能,用于设置网站名称、系统管理员邮箱地址(用于接收提示邮件,包括:用户注册通知用户发布博文的通知用户修改博文的通知)等。

  • 系统应用

系统应用属于网站管理功能

网站配置:目前可设置学校名称,将显示在前面页面中;

博文管理:用于管理用户发布的博文信息,可设置博文的属性(包括是否前台显示、是否为推荐);

用户管理:查看从前台注册的用户(即网站用户)。

未完成功能

在这个版本中暂时不写博文点评功能,此功能在技术层面上讲没有任何难点,所以暂时不实现。

访问

初始化页面:http://sblog.zslin.com/init(已经初始化过不能再重复初始化)

前台页面:http://sblog.zslin.com

后台管理: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 校园博客完整小网站的更多相关文章

  1. 技术博客--微信小程序canvas实现图片编辑

    技术博客--微信小程序canvas实现图片编辑 我们的这个小程序不仅仅是想给用户提供一个保存和查找的平台,还希望能给用户一个展示自己创意的舞台,因此我们实现了图片的编辑部分.我们对对图片的编辑集成了很 ...

  2. 技术博客——微信小程序的架构与原理

    技术博客--微信小程序的架构与原理 在两个月的微信小程序开发过程中,我曾走了不少弯路,也曾被很多现在看来十分可笑的问题所困扰.这些弯路与困扰,基本上都是由于当时对小程序的架构理解不够充分,对小程序的原 ...

  3. 【原】无脑操作:IDEA + maven + Shiro + SpringBoot + JPA + Thymeleaf实现基础授权权限

    上一篇<[原]无脑操作:IDEA + maven + Shiro + SpringBoot + JPA + Thymeleaf实现基础认证权限>介绍了实现Shiro的基础认证.本篇谈谈实现 ...

  4. 【原】无脑操作:IDEA + maven + Shiro + SpringBoot + JPA + Thymeleaf实现基础认证权限

    开发环境搭建参见<[原]无脑操作:IDEA + maven + SpringBoot + JPA + Thymeleaf实现CRUD及分页> 需求: ① 除了登录页面,在地址栏直接访问其他 ...

  5. 技术博客——微信小程序UI的设计与美化

    技术博客--微信小程序UI的设计与美化 在alpha阶段的开发过后,我们的小程序也上线了.看到自己努力之后的成果大家都很开心,但对比已有的表情包小程序,我们的界面还有很大的提升空间,许多的界面都是各个 ...

  6. springboot+jpa+thymeleaf增删改查的示例(转)

    这篇文章介绍如何使用jpa和thymeleaf做一个增删改查的示例. 先和大家聊聊我为什么喜欢写这种脚手架的项目,在我学习一门新技术的时候,总是想快速的搭建起一个demo来试试它的效果,越简单越容易上 ...

  7. springboot(十五):springboot+jpa+thymeleaf增删改查示例

    这篇文章介绍如何使用jpa和thymeleaf做一个增删改查的示例. 先和大家聊聊我为什么喜欢写这种脚手架的项目,在我学习一门新技术的时候,总是想快速的搭建起一个demo来试试它的效果,越简单越容易上 ...

  8. 基于SpringBoot从零构建博客网站 - 技术选型和整合开发环境

    技术选型和整合开发环境 1.技术选型 博客网站是基于SpringBoot整合其它模块而开发的,那么每个模块选择的技术如下: SpringBoot版本选择目前较新的2.1.1.RELEASE版本 持久化 ...

  9. Spring MVC+Hibernate JPA搭建的博客系统项目中所遇到的坑

    标签: springmvc hibernate 2016年12月21日 21:48:035133人阅读 评论(0) 收藏 举报  分类: Spring/Spring MVC(6)  Hibernate ...

随机推荐

  1. 网站开发进阶(十一)如何将一个jsp页面嵌套在另一个页面中

    如何将一个jsp页面嵌套在另一个页面中 这个在做网页中常要用到,有些通用的内容可集中放在一个页面文件中,其它要用到这些内容的页面只需要包含(引用)这个通用文件即可.这样便于维护,如果有很多网页,当通用 ...

  2. LeetCode之“数学”:Happy Number

    题目链接 题目要求: Write an algorithm to determine if a number is "happy". A happy number is a num ...

  3. HBase 运维分析

    问题分析的主要手段 1.监控系统:首先用于判断系统各项指标是否正常,明确系统目前状况 2.服务端日志:查看例如region移动轨迹,发生了什么动作,服务端接受处理了哪些客户端请求. 3.gc日志:gc ...

  4. Android开发技巧——自定义控件之增加状态

    Android开发技巧--自定义控件之增加状态 题外话 这篇本该是上周四或上周五写的,无奈太久没写博客,前几段把我的兴头都用完了,就一拖再拖,直到今天.不想把这篇拖到下个月,所以还是先硬着头皮写了. ...

  5. ROS探索总结(十二)——坐标系统

    在机器人的控制中,坐标系统是非常重要的,在ROS使用tf软件库进行坐标转换. 相关链接:http://www.ros.org/wiki/tf/Tutorials#Learning_tf 一.tf简介 ...

  6. lpad函数

    函数介绍 lpad函数是Oracle数据库函数,lpad函数从左边对字符串使用指定的字符进行填充.从其字面意思也可以理解,l是left的简写,pad是填充的意思,所以lpad就是从左边填充的意思. 2 ...

  7. ubuntu12.04:Mysql数据库:手动安装

    首先到mysql的下载中心上下载最新的tar.gz包: 1.在浏览器中输入http://www.mysql.com/downloads/ 进入mysql的下载中心,在这里有使用mysql开发的一些工具 ...

  8. Xcode使用心得01:断点中断问题和调整编译目标

    在obj-c系列博文里,我们粗浅的介绍了obj-c的一些语法以及F库中的一些标准类的使用,但是实际编写拿得出手的APP还是得老老实实在os x上用Xcode写啊!最近上网无意中发现还有支持os x和i ...

  9. rails自动生成大量记录的方法

    因为我们可能rails new了一个网站出来,但是里面没有测试数据,我们不能傻乎乎的在new.html.erb里面一个的手动输入吧?于是我们可以写一个小的脚本来帮助在数据库中插入大量数据:高版本的ra ...

  10. ruby读取源代码自身的一种方法

    我们知道ruby中如果源代码中一行开头(必须在行的开头)有__END__标示,则表示下面的都是数据行,可以用IO对象DATA来访问这些行.但是如果我们用DATA.rewind一下的话,就可以将文件流指 ...