3g免费网站制作,嘉兴网站seo外包,北京网站建设找华网天下,wordpress修改页尾1.项目内容
1.1.页面展示 1.2.博客分类 1.3.面试辅导 1.4.私教带徒 1.5.文章编辑 1.6.后台管理 2.项目架构及技术描述
2.1.本项目用到的技术和框架
项目构建#xff1a;Mavenweb框架#xff1a;Springboot数据库ORM#xff1a;Mybatis数据库连接池#xff1a; HikariCP分…1.项目内容
1.1.页面展示 1.2.博客分类 1.3.面试辅导 1.4.私教带徒 1.5.文章编辑 1.6.后台管理 2.项目架构及技术描述
2.1.本项目用到的技术和框架
项目构建Mavenweb框架Springboot数据库ORMMybatis数据库连接池 HikariCP分页插件PageHelper数据库MySql缓存Redis前端模板Thymeleaf文章展示Editor.md
2.2.本项目中的关键点
采用Springboot开发数据库使用连接池加orm框架的模式对于系统的关键业务使用Redis缓存加快相应速度。整体系统采用门户网站后台管理用户个人中心的方式搭建门户网站展示博客内容以及博主介绍后台管理用于编辑文章查看反馈管理评论留言。使用华为云obs进行静态资源存储以及CDN全站加速。
2.3.开发环境
工具名称开发工具IDEA语言JDK1.8、Html、css、js数据库MySQL5.6ORMMybatis安全框架SpringSecurity缓存Redis项目构建Maven运行环境华为云Centos
2.4.结构设计 3.功能描述
3.1.主页
博客汇总以列表形式展示文章并附上文章作者、发布日期、分类情况以及文章简要能够以分类形式查看文章能够以时间列表方式归档文章可实现通过标签查找所有相关文章个人介绍、联系方式博客网站更新记录友链链接
3.2后台管理
网站仪表盘记录网站访客量情况文章管理
分页展示文章信息可对文章进行再编辑以及删除文章
发布文章
使用markdown编辑器支持插入代码插入图片等功能文章可选择分类和标签以及转载文章支持链接原作者文章 分类管理支持增加、删除、修改分类 友情链接
支持增加友情链接支持删除友情链接
反馈信息管理可查看用户反馈信息
3.3.安装部署
支持-jar方式使用springboot自带方式打包
4.项目业务设计
4.1.发表文章流程 4.2.登录流程 4.3.用户个人资料修改流程 4.4.打包、部署和运行
本项目采用Springboot的maven插件进行打包打包结果**.jar部署方式使用 nohup java -jar .jar .log 21 的方式后台启动项目并在该路径下生成运行日志。
4.5.数据库设计
用户表user
名称类型长度主键非空描述idint11truetrue主键、自增phonevarchar255falsetrue手机号usernamevarchar255falsetrue用户名passwordvarchar255falsetrue密码genderchar50falsetrue性别trueNamevarchar255falsefalse姓名birthdaychar100falsefalse生日emailvarchar255falsefalse邮箱personalBriefvarchar255falsefalse个人简介avatarImgUrlvarchar255falsetrue头像urlrecentlyLandedvarchar255falsefalse最近登录时间
文章表article
名称类型长度主键非空描述idint11truetrue主键自增articleIdbigint20falsetrue作者originalAuthorvarchar255falsetrue文章原作者articleTitlevarchar255falsetrue文章标题articleContentlongtext0falsetrue文章内容articleTagsvarchar255falsetrue文章标签articleTypevarchar255falsetrue文章类型articleCategoriesvarchar255falsetrue文章分类publishDatevarchar255falsetrue发布文章日期updateDatevarchar255falsetrue更新文章日期articleUrlvarchar255falsetrue文章urlarticleTabloidint255falsetrue文章摘要likesint11falsetrue文章喜欢数lastArticleIdbigint20falsefalse上一篇文章idnextArticleIdbigint20falsefalse下一篇文章id
评论记录表comment_record
名称类型长度主键非空描述idbigint20truetrue主键自增pIdbigint20falsetrue文章原作者answererIdint11falsetrue评论者idrespondentIdint11falsetrue评论日期likesint11falsetrue评论点赞数commentContenttext0falsetrue评论内容
5.开发流程
5.1.数据库CRUD
controller层中编写前端接口接收前端参数service层中编写所需业务接口供controller层调用实现service层中的接口并注入mapper层中的sql接口采用Mybatis的JavaConfig方式编写Sql语句。由于并没有使用Mybatis的逆向功能需要自己手写所有sql语句关于事务的实现在启动类中开启事务并在service层需要实现事务的业务接口上使用Transactional注解还是十分方便的本项目开发并不是很难只是在业务的实现上比较复杂页面与展示作为一名后端开发对于css的功力有所欠缺这里我从百度下载对应的UI极大的减少了页面的开发难度.前端页面与后端的交互主要是在controller包中并使用Thymeleaf渲染页面。自定义异常处理页面通过重写WebMvcConfigurerAdapter实现自动跳转到404、403页面
5.2.其他功能
使用lazyload插件实现页面图片懒加载后台实时记录当天访客量便于了解博客日常访问量分析访问量最多的数据主要在于文章访问部分将文章放入redis缓存。每次编辑完文章后更新缓存使用华为云互联网中间件的业务实时监控服务对于网站性能的了解以及优化有很大的帮助
5.3.网站建设
服务器选用的是华为云centos7域名是华为云上购买的域名网站备案以及公安机关备案后者备案时间较短但是那个备案网站经常挂掉所以公安机关备案还得看运气。而网站备案时间就比较长了按照华为云的流程走大概1个月左右时间需要上传个人身份信息以及邮寄个人资料过去。网站配置了安全证书可实现https访问以及自动从http跳转到https。
6.开发中遇到的难点
要实现在一个页面进行权限验证如果验证不成功会跳转到登录界面并且登录成功后还要返回到之前界面这里由于对SpringSecurity内部原理的不了解所以我这里采用的方法是利用请求头和响应头存储url并在登录成功后的页面出跳转到响应头中存储的url处。上传头像处使用上传头像至华为云的OBS对象存储中由于上传问题并没有返回上传成功后的图片url地址于是只好设置OBS的Bucket为公共读权限然后当上传成功后手动拼接图片url并存入数据库。项目中最大的难点还是莫过于页面css的设计但是使用了妹子UI后极大的解决了这个问题只需修改少量css就能实现自己所需要的样式。
网站源码获取方式关注公众号回复关键字博客源码