个人博客网站---基于springboot
本博客于2019年10月10日正式开放测试,耗时一个半月。基本功能已经全部实现。部署在阿里云服务器 :xqlearning.cn
本站包含,游客注册,登录,(收集游客信息)。管理员发布博客,在后台对博客的CURD操作,对整站的访客登入管理,评论管理,分类管理,留言管理。权限控制等。前台展示博客(分类,热门,置顶),(登录游客可以对博客,点赞,评论。未登录游客只能浏览博客无法点赞评论)。留言板,博主个人简介,文件上传下载。
前台文章大类:
1.首页:展示博客首页,它包含 以浏览量为索引字段的三篇热门文章展示,博主简介,以及直达网站各个部分的超链接。
2.博客列表页: 它可以清晰有条理的展示博主的全部博客,通过各种分类查询使游客直观的了解到自己想看的博文。
包含五个部分(博客列表,博客分 类,热门文章,置顶推荐,最近访客)。
博客列表:它是根据分类和置顶查询而来,在列表中每条博客上又包含了(博客标题 ,博客主图,博客简介,以及浏览量,阅读量,标签)
博客分类:通过分类可以查询到每个类别(日记,java,技术分享,Bug)的博客 。
热门文章:通过文章点赞和文章浏览量加权计算得出排名前8的文章。
置顶推荐: 由博主设置哪几篇文章优先显示。
最近访客:根据访客登入时间排序展示头像以及昵称。
3.留言板:主要功能为登录的访客可以在此留言给博主。并将留言内容,访客昵称,头像,所在地,时间等。完整展示在留言列表
4.个人简介:此部分为博主的个人简介,本站技术介绍,版权说明,个人项目展示。
用户注册登录:
1.用户注册:收集访客各种基本信息。包含几个简单的正则和判空校验及提示,以及对用户名是否重复的Ajax异步校验。还有头像上传预览等。
2.用户登录:信息比对数据库存入session,判空校验及提示。更新登录IP和IP所属地,最近登录时间,总登录次数。
后台管理:
1.后台不可注册,只能管理员登录 ,入口在每页左上角LxqBlog。
2.网站登入日志:记录网站访客信息按时间排序,访问次数,IP等
3.新增文章:博主新增文章,包含标题,分类,简介,置顶设置,主图选择,内容编写,图片插入等。
4.文章管理:展示所有文章以及基本信息。可以对文章进行编辑,删除操作。
5.评论管理:基本功能同上
6.分类管理:基本功能同上
技术结构:
前端:Js + Ajax +jsp + layui
后端:SpringBoot+MyBatis+Mysql
服务器: aliyun Linux
版本与依赖管理: Maven
开发工具:idea
项目总结:这个项目由我个人独立开发完成,整个项目做完,从前端模板选择,页面中各种JS方法以及布局修改,使我对js方法 dom对象及各种事件调用,ajax都更加熟悉,有了更加深刻的认识 。对MYSQL数据库表的设计,表之间关联关系,也有了进一步认识,使用的springboot框架 “约定大于配置”的思想 极大提高了开发效率。对其各种配置更加熟悉。持久化框架MyBatis 的sql语句与代码分离,便于后期维护,使整个项目逻辑设计更加清晰。它的ORM对象关系映射方便地将对象与数据库中的表进行统一化操作。Maven 在pom.xml文件中统一维护jar包 在很大程度上减少了各个包之间的依赖冲突和jar包的内存占用。在使用linux服务器shell执行各种命令时,也明白了“有问题看日志”的重要性。
难点:我个人觉得难点不在编写代码,而是难在写代码之前的整体项目需求设计如何实现,这里面的执行逻辑一定要清晰,任何小的错误都有可能造成整个功能块重写。难点二应该是数据库表的设计,以及多表关联查询 设计表时,脑海里要有整个项目有的清晰结构图,各个表,各个字段都是项目中功能的缩影。难点三,由于我是后端开发,对前端的js 某些function调用有点不太熟悉。
这里只展示部分后台界面,前台页面,可以直接访问 xqlearning.cn