目录
1.不同controller下 session为null
在springBoot的一个controller中,我因为要用验证码来验证,所以把验证码存到了session中,但是我在另外一个controller中获取session,缺获取不到,我保证了已经存到了session中,因为我还打印get输出了一下,但是为什么获取不到呢
我在看了这么多的博客,简书后,觉得可能是sessionid不同,所以你获得不到这个session里面的值,因此我换了一种方式,我把验证码存到了ServletContext,这个对象可是全局唯一,这样你就可以在另外一个controller里面获取到你存进去的
完美解决
最后小谈,为什么两个controller里面的session,明明存进去,另外一个缺访问不到,很大可能是sessionId不同,不是同一个session,这个我下去实验,有结果了,我再来给大家验证
2.原生axios请求写法:
post:
get:
3.截取地址栏url
先上代码:
地址栏例子:http://127.0.0.1:8080/admin/html/user.html?id=6&name=德玛西亚
我们要截取获得id和name
<script>
//截取字符串中文传参
function getUrlVal(key) {
// 获取参数
var url = window.location.search;
// 正则筛选地址栏
var reg = new RegExp("(^|&)" + key + "=([^&]*)(&|$)");
// 匹配目标参数
var result = url.substr(1).match(reg);
//返回参数值
return result ? decodeURIComponent(result[2]) : null;
}
//id与name
var ID = getUrlVal("id");
var Name = getUrlVal("name");
</script>
知识储备:
1.通过如下代码:可获取当前页面的完整url
2.而为了获取?及以后的url 我们可以 直接window.location.search即可
3.js 中的substr():
下标从0开始 如果只写了start没写length 则直接截取下标位置(包括下标) 到末尾的字符串
如:
4.match()
方法检索返回一个字符串匹配正则表达式的结果
5.decodeURIComponent
decodeURIComponent(encodedURI)
返回值
一个解码后的统一资源标识符(URI)字符串
6.
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
(^| )代表开始
( |$)代表结束
以&或者$结尾的字符串
这个正则是寻找&+url参数名字=值+&
&可以不存在。
7.
window.location.search.substr(1).match(reg);
(1) location是包含了相关的url的信息,它是windown的一部分。
(2) search是一个可以查询的属性,可以查询?之后的部分。
(3) substr(1)是为了去掉第一个?
(4) match()是你要匹配的部分 后面可以是正则表达式。
(5) return decodeURIComponent(result[2]) 返回的值 一个数组。
(6) 这里是开始匹配,找到了返回对应url值,没找到返回null。
4.css文字水平居中 垂直居中
垂直居中:
水平居中:
text-align:center
5.JS一键复制
WriteText中为要复制的内容
// 一键复制
writeDataToClipboard() {
const result = navigator.clipboard.writeText(this.findPassword);
this.$message.success("复制成功")
console.log(result);
},
6.对于sql类型为varchar(string)类型的字段 也可以直接加一或减一 是完全正常的
如:saleCount为varchar类型
<!-- 交易成功,增加saleCount--> <update id="updateSaleCount"> update user set saleCount=saleCount+1 where userid=#{userid} </update>