shiro整合jwt,用于用户登录逻辑流程:

登录流程:
用户登录:输入用户名和密码–>后端校验:
–>有异常:处理异常
–>正常,生成jwt
访问接口时,统一被jwtFilter,即:shiro过滤器过滤, 进行登录处理:
1.无jwt直接访问接口:
在Controller层中加上@RequirtRole标签,过滤注解拦截,如果用户无jwt直接访问接口,则被拦截,并通过jwtFilter的异常处理功能,进行无权限的异常抛出处理
2.有jwt访问接口:
进行shiro登录处理,有问题(账号密码不对或者账号过期、无权限等)就抛异常,正常则访问接口,并返回数据

IService:
Mybatis-plus封装好的service方法,service层以继承的方式实现:extends IService<实体类>
ServiceImpl
同样时Mybatis-plus封装好的service层实现方法:extends ServiceImpl<实体类的Dao层, 实体类>
而dao层的mapper也要继承extends BaseMapper<实体类>才能实现,有了这些简单的增删改查的sql语句和service方法便可以省略不用写
Controller层:

Service层:

ServiceImpl实现曾:

dao层:

vue:

cmd启动vue ui 没有反应,首先输入vue -V或者vue -version查看当前版本,因为vue ui时vue3.0以后的指令,如果时因为版本低,可以先卸载vue,指令: npm/cnpm uninstall vue-cli -g,npm和cnpm都可以,然后根据你是否全局安装选择是否加-g,安装后再次使用vue -V查看版本,确认是否安装成功:

如果,卸载后,任然能看到老版本vue存在(博主就是),可以使用where vue查看vue位置:


然后去该目录,或者通过cmd的cd功能直接删除,dir为列出当前文件夹文件,del删除文件;
在查看版本确认是否删除成功,成功后下载安装vue3.0版本,指令为:npm install -g @vue/cli
详细安装和卸载指令可以查看一下链接:
https://www.jianshu.com/p/670b7d0691f8

安装成功后,如果在cmd中无法运行vue指令,可能是卸载时,连同环境变量也卸载了需要重新配置,找到vue.cmd所在目录,复制,然后去环境变量path中粘贴就可以了:
配置环境变量:
https://www.cnblogs.com/xiaqin/p/12609911.html

配置好后,便可以在你项目存放目录中,运行cmd然后,运行vue ui
便可以使用新版本vue的可视化界面来新建项目了

vue调用后端数据的坑:

后端开发人员通过vue完成前端调用后端数据时,需要注意,调用路径是否正确,路径名称是否正确,后端输出和接收的参数和前端发送输出的参数,是否拼写一致。
因为当我们完成后端开发,并且通过PostMan发送请求测试通过时,证明数据的传送是没问题的,个人在第一次开发SpringBooth+vue时,前端的问题有:
1.封装格式:后端用什么格式封装,一般情况下每个项目都会有一个统一封装类,来帮助controller以什么格式发送数据到前端,而公司开发前在需求评审上也会规定以什么格式封装数据,所以前端只需要注意点就可以了,在数据展示方面,可以通过Element ui来实现需求上的页面。
我在开发时,遇到的最大难题便是,同样的代码,为什么别人能实现的功能,我实现不了。而每次的原因都是,他调用后端的参数和我是不一样的,这时候就体现了前端数据输出的重要性了:

输出数据console.log()和alert(),他们的区别是:

console.log()输出数据时,并不影响程序的运行,而alert()则是当程序运行到它是,便会停止,并且内容会在页面上以弹框的形式输出,点击弹框上的确定键才会继续下去,然后你就可以通过F12查看数据是否输出了,输出了,证明数据你拿到了,没输出,首先检查后端对应页面模块是否有问题,然后便是前端,调用路径是否有问题,同样使用输出的方式确定。
console.log()和alert()的区别:
https://www.cnblogs.com/Narcotic/p/6839577.html

isNull和notNull的区别:

前者isNull表示不为空,后者notNull表示为空,不注意和容易容混,我就是,


当时Vue调用数据时,后端都不报错,只能console.log()和alert()输出数据才确定是没有调到数据;


当时情况有点妖孽,一会儿报了:该博客已被删除,一会儿又不报,很混乱,让人无法确定,还是打了断点,有在vue输出数据,看F12页面才确定,希望大家能引以为戒,养成输出和打断点的习惯。

安装mavon-editor

基于Vue的markdown编辑器mavon-editor

cnpm install mavon-editor --save

这个是我写博客编辑时,被推荐的编辑器,只要在Vue上安装了它,并且导入到项目中便可以出现一下内容,之所以说这个,是我用来它才知道,前端和后端一样很多我们新手看起来很难的却很常见的东西,老手却很轻松的原因是因为已经有大佬封装好了,可以直接拿来用了。

目前,我还在理shiro+jwt登录的逻辑,虽然是封装好的,但是至少你要知道它使用的原理,等以后学到那个层次再来了解详细,关于这个基于springBoot+Vue前后端分离博客项目,作者在B站,gitHub上都有分享,有兴趣的朋友可以去看看,多了解,世界就没那么复杂,虽然它仍然很大。
Springboot+Vue前后端分离博客项目https://juejin.im/post/5ecfca676fb9a04793456fb8#heading-33

关联文章:
https://blog.csdn.net/ZXin153/article/details/107579706

SpringBoot+Vue博客项目中遇到的坑相关推荐

  1. springboot+vue博客项目(码神之路博客项目)

    写在最前:b站中博客项目除了这个还有一个三更草堂的博客项目也是不错的,三更草堂会比这个完善些,但是码神这个项目也非常好,看完这个再去看三更的,互相补充.(这两个博客项目应该是目前b站最好的了,而且时间 ...

  2. 个人博客,懒人终章部署,阿里云Ecs+Jenkins+Gitee自动,一键部署SpringBoot自己博客项目,还在用

    阿里云Ecs+Jenkins+Gitee自动,一键部署SpringBoot自己博客项目: 最近看见网上很多Jenkins的自动部署SpringBoot的Demo,但是都要自己安装JDK,Maven.. ...

  3. 个人博客项目Meblog遇到的坑及解决方案

    个人博客项目Meblog遇到的坑及解决方案 问题1:新建spring mvc项目时,添加插件报错"plugin not found". <plugin><grou ...

  4. SpringBoot个人博客项目搭建—前端页面功能介绍(一)

    SpringBoot个人博客-前端页面功能介绍(一) 项目首页地址:https://blog.csdn.net/weixin_45019350/article/details/108869025 一. ...

  5. SpringBoot+Vue 博客后台项目开发总结

    目录 一.用户权限设置 前端逻辑 后端逻辑 二.登录界面逻辑 1.账号密码登录实现 前端逻辑 在Cookie中存储token的方法 在Cookie中存储和获取的token方法 后端逻辑 生成token ...

  6. 一款高颜值的 SpringBoot+JPA 博客项目

    今日推荐 推荐3个快速开发平台 前后端都有 项目经验又有着落了推荐一个高仿微信的项目 有点屌!!一二线城市知名 IT 互联网公司名单(新版) 项目介绍 项目采用SpringBoot框架 + JPA持久 ...

  7. 使用Docker部署SpringBoot+Vue博客系统

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:硬刚一周,3W字总结,一年的经验告诉你如何准备校招! 个人原创100W+访问量博客:点击前往,查看更多 在今年年 ...

  8. SpringBoot+Vue博客系统---后端接口开发

    Java后端接口开发 从零开始搭建一个项目骨架,最好选择合适,熟悉的技术,并且在未来易拓展,适合微服务化体系等.所以一般以Springboot作为我们的框架基础,这是离不开的了. 然后数据层,我们常用 ...

  9. 从0到1编写个人博客项目使用springboot+vue(前后端分离) 到 购买服务器上传项目 到 GitHub开源项目、此过程下所遇问题及解决方法,至少你帮你少走70%弯路

    个人博客编写 后记 2022.12.2.4 : 30.此项目告一段落. ​ 编撰此博客本意里除去对找工作的帮助.更多地是想帮助未走过的人去探探路.总结经验.少走弯路.知识的宝贵不在于无价.而是无私.天 ...

最新文章

  1. android如何暂停倒计时,在Android中暂停和恢复倒计时器和进度条?
  2. pct_change()
  3. 明天就要离开上海了!
  4. 李宏毅2020深度学习-判别方法和生成方法
  5. Java基础入门笔记-数组对象
  6. 宁德时代拟定增募资不超582亿元,用于锂离子电池项目等
  7. ssm指的是什么_什么是RESTful?RESTfule风格又是啥?
  8. 网络通信协议八之UDP协议详解
  9. hdu 2594(kmp)
  10. python中ttk详解_Python 中的Property 动态属性和特性详解
  11. 第7章—SpringMVC高级技术—不用web.xml,而使用java类配置SpringMVC
  12. Django框架详解
  13. 心电监护仪数据图解_心电监护仪数据怎么看
  14. Python教程(从不懂到入门)
  15. GitHub iOS开源项目
  16. office快捷键设置
  17. moses 编译_手把手教你编译MOSES机器翻译系统 | 学步园
  18. 中国电子学会2022年12月份青少年软件编程Python等级考试试卷三级真题(含答案)
  19. 【转】人家在美国怎么过的,7年,我无比惭愧
  20. 极路由刷个人编译的openwrt固件全过程

热门文章

  1. anaconda下使用python怎样实现图像增强_如何用anaconda进行python开发
  2. 2013年运唐立淇——水瓶座
  3. 数据网格(Data Mesh)是什么?
  4. Flutter学习指南:UI布局和控件,作为Android开发者
  5. 【题解】UVa1665:Islands
  6. 在计算机网络中ln代表的是,数学中e和ln的关系?
  7. 请举例说明微型计算机的工作过程,简答题(计算机接口技术小作业)
  8. VMware虚拟机/Hyper-V在(校园网/PPPoe拨号上网)环境无法上网解决方案
  9. 最大字数组求和改进!
  10. Python版 孤勇者 | 画图+演奏+音乐可视化