本文所属【知识林】: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. Testbench(转)

    本来还打算自己写下对Testbench的理解,后来发现百度百科名片解释得很好,所以就直接转了. 原文百度百科链接:http://baike.baidu.com/link?url=dxzsOAs32IE ...

  2. gtk+2.0中GtkObject结构中没有klass成员的解决办法

    gtk+2.0中一些较老的程序中会有如下的代码: #define EVENT_METHOD(obj, method) GTK_WIDGET_CLASS(GTK_OBJECT(obj)->klas ...

  3. web报表工具FineReport常用函数的用法总结(数学和三角函数)

    最后一次抛砖引玉了,至此finereport所有的常见函数就分享完了,期待能对大家有些许帮助. ABS ABS(number):返回指定数字的绝对值.绝对值是指没有正负符号的数值. Number:需要 ...

  4. Libevent库学习笔记

    Libevent是一个事件触发的网络库,适用于windows.linux.bsd等多种平台,Libevent在底层select.pool.kqueue和epoll等机制基础上,封装出一致的事件接口.可 ...

  5. 初探linux子系统集之i2c子系统(一)

    I2c子系统在进公司来的时候就学习过了,可是那是还不是很熟悉linux中的i2c子系统,就没有细看.记得当初很想熟悉linux中的各种总线驱动,想专门写一个关于总线驱动的专集,后来发现好像就没有几个, ...

  6. obj-c编程15[Cocoa实例03]:MVC以及归档化示例

    前面的博文里介绍了归档和解档,这里我们把它实际应用到一个简单的代码中去,将它作为一个多文档应用程序的打开和保存的背后支持.另外这里介绍一下MVC思想,这个在任何语言里都会有,它是一种设计思想,主要可以 ...

  7. jboss7开发配置指南

    1      Jboss7下载与安装 1.1     官方下载 路径:http://www.jboss.org/jbossas/downloads,目前最新稳定版本为7.1.1 final,分别有zi ...

  8. JavaScript对象添加、删除、修改对象的属性

    https://www.cnblogs.com/goweb/p/5357640.html 利用动态特性 function Person(){}; var person = new Person(); ...

  9. 比较Fink, macports 跟 homebrew

    http://www.myexception.cn/brew/412107.html 比较Fink, macports 和 homebrew 如果你有Linux/Unix背景,那么在Mac上你一定想安 ...

  10. Scala编程入门---函数式编程

    高阶函数 Scala中,由于函数时一等公民,因此可以直接将某个函数传入其他函数,作为参数.这个功能是极其强大的,也是Java这种面向对象的编程语言所不具备的. 接收其他函数作为函数参数的函数,也被称作 ...