5.31串讲 SSM相关问题
文章目录
- 5.31串讲 SSM相关问题
- Spring Security(Shiro)
- Security框架认证流程
- Security流程图展示
- Vue
- 相关指令
- 四个阶段
- axios
Spring Security(Shiro)
Spring Security是一个基于Spring 的安全框架,为Web应用程序和服务提供了全面的安全性解决方案。它提供了诸如身份验证、授权、防止跨站点请求伪造(CSRF)、保护会话等安全特性。Spring Security可以与Spring框架完美集成,可以轻松地让您的应用程序获得最佳的安全保护。
作用:验证 和 鉴权
学习框架需要:
- 尊重规则
- 善于查询官方文档
Security框架认证流程
-
在
SecurityConfig
配置类中配置好白名单,设置登录页面,关闭跨域攻击防御策略 -
当客户端请求路径不在白名单中,Security框架会自动将请求重定向到登录页面
-
在
login.html
登录页面中向/login
地址发送登录请求时,服务器中UserController
里面的login方法
处理该请求 -
在
login方法
中通过认证管理器manager
启动认证,将认证结果保存在Security上下文对象中 -
当
manager
启动认证流程后会自动调用UserDetailServiceImpl
里面的loadUserByUsername方法
,在方法内部,调用UserMapper
里面的查询方法通过用户名查询到UserVO
。 -
如果查询不到
return null
,此时Security框架会抛出异常代表用户名不存在,需要全局异常处理进行处理,如果查询到的密码和用户输入的密码一致,则不抛出异常 -
UserController
中的login方法
会执行完,给客户端响应登录成功的信息,如果登录的密码错误,Security框架会抛出代表密码错误的异常,此时也需要全局异常处理类进行处理
Security流程图展示
Vue
-
导入JS
<!--引入富文本编辑器相关样式文件--> <link href="https://cdn.staticfile.org/wangeditor5/5.1.23/css/style.min.css" rel="stylesheet">
-
创建Vue对象
<script> let v = new Vue({ el:"#app", //作用域 data:{ //页面数据相关格式 user: {}, //对象 arr: [], //数组 username:"" }, methods:{ //自定义方法 }, created:function(){ //钩子函数,共8个 }, }) </script>
相关指令
文本相关指令
指令 | 介绍 |
---|---|
{{变量}} | 插值,让当前位置的文本内容和变量进行绑定 |
v-text=“变量” | 让元素的文本内容和变量进行绑定 |
v-html=“变量” | 让元素的标签内容和变量进行绑定 |
属性绑定和双向绑定
指令 | 介绍 |
---|---|
属性名=“变量” | 让元素的某个属性的值和变量进行绑定 |
v-model=“变量” | 双向绑定,让控件的值和变量进行双向绑定,当需要获取控件的值的时候使用 |
事件绑定
指令 | 介绍 |
---|---|
@事件名=“方法” | 给元素添加事件,需要将事件触发的方法声明在methods里面 |
v-for循环遍历指令
指令 | 介绍 |
---|---|
v-for=“(变量,下标) in 数组” | 循环遍历指令,遍历的同时会生成元素,当需要让页面的内容和数组进行绑定时使用 |
显示隐藏相关指令
指令 | 介绍 |
---|---|
v-if=“变量” | 让元素是否显示和变量进行绑定,true显示、false不显示(删除元素) |
v-else | 让元素的显示状态和 v-if 取反 |
v-show=“变量” | 让元素是否显示和变量进行绑定,true显示、false不显示(隐藏元素) |
四个阶段
1. 初始化=>创建组件=> `beforeCreate` `created`
2. 挂载=>渲染显示组件=> `beforeMount` `mouted`
3. 更新=》修改了变量=》触发视图刷新=> `beforeUpdate` ` `updated`
4. 销毁=》切换页面=》会把组件对象从内存删除=> `beforeDestory ` `destoryed`
- 8个钩子函数,Vue的生命周期
钩子函数 | 介绍 |
---|---|
beforeCreate | 会在实例初始化完成、props解析之后、data(和computed等选项处理之前立即调用。此时不能获得DOM节点 |
created | 在这个阶段vue实例已经创建,以下内容已经设置完成:响应式数据、计算属性、方法和侦听器。然而,此时挂载阶段还未开始,因此$el属性仍不可用。仍然不能获取DOM元素。 |
beforeMount | 在组件内容被渲染到页面之前自动执行的函数,组件已经完成了其响应式状态的设置,但还没有创建DOM节点。 |
mounted | 在组件被渲染之后自动执行的函数。一般我们的异步请求都写在这里。在这个阶段,数据和DOM都已被渲染出来。 |
beforeUpdate | 数据变化的时候自动执行的函数,此时变化后的数据还未渲染到页面之上。 |
updated | 数据变化之后自动执行的函数,此时变化后的数据已经渲染到页面之上。 |
beforeUnmount | 当Vue应用被销毁时,自动执行的函数。 |
unmounted | 当Vue应用被销毁后,且dom完全销毁之后,自动执行的函数。 |
axios
- 导入axios
<!--引入Axios-->
<script src="https://cdn.bootcss.com/axios/0.18.0/axios.min.js"></script>
- axios的异步请求
axios.get("url").then(function(response){
});
axios.post("url").then(function(response){
});