
项目相关
文章平均质量分 62
java项目学习
Peanutty
菜鸡一枚
展开
-
Spring中基于事件监听驱动 和 线程池的异步任务
通过@Asyc注解可以实现异步我们监听事件之前要有事件源source,事件(Event),发布事件(publishEvent),然后才能到监听事件。事件驱动机制是观察者模式(称发布订阅)具体实现,事件对象(Event)相当于被观察对象(Subject), 事件监听(EventListener) 相当于观察者(Observer)原创 2024-04-09 12:20:35 · 1129 阅读 · 1 评论 -
Redis+lua脚本限制ip多次输入错误密码
使用lua脚本主要保证了对上述逻辑的原子性,因为涉及获取key的值并判断,然后将key的值+1 或 删除key。不能锁username,因为如果有人恶意保留破解密码的话。二是有key的情况下,密码错误或者尝试次数大于阈值再次尝试登录,value:当前ip尝试登录的次数。这里我采用 以ip的方式进行锁定。lua脚本,放在resources目录下。Service类加载时,加载lua脚本。具体校验方法,主要逻辑调用了lua脚本。一点是有key的情况下密码正确需要。逻辑简单,假设限制错误次数为5。原创 2024-04-09 11:10:06 · 795 阅读 · 0 评论 -
JWT的token与session的区别
Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。原创 2023-07-28 17:20:09 · 785 阅读 · 0 评论 -
javascript将地址转换为经纬度_调用百度地图API_地址解析
选择,开发文档->javascriptAPI进入后先进行账号和密钥获取,并且申请成为百度开发者,点击内的步骤即可跳转获取服务密钥ak应用类型选择浏览器端白名单自己设置:只有白名单中的网站才能成功发起调用点击提交提交后获得密钥。原创 2023-01-18 12:58:50 · 1703 阅读 · 0 评论 -
Vue使用Echarts统计图随浏览器窗口变化大小
【代码】Vue使用Echarts统计图随浏览器窗口变化大小。原创 2023-01-16 16:46:31 · 396 阅读 · 0 评论 -
设计数据库:一条记录/一篇文章/一篇日志 关联存储多张图片
一条记录存多张图片原创 2022-08-21 19:46:50 · 2264 阅读 · 3 评论 -
解决使用el-input时无法输入的问题
解决使用el-input时无法输入的问题今天在使用el-input时在input标签中无法输入中英文和字母,不知道为什么解决办法在标签中加上 auto-complete=“off” 就可以了 <el-input style="width: 200px" suffix-icon="el-icon-search" placeholder="请求助者输入名称" auto-complete="off" v-model="username"></el-input>原创 2022-04-15 00:43:10 · 1536 阅读 · 0 评论 -
Vue中this.$refs[formName].validate((valid) =>{}不执行的错误
今天遇到一个this.$refs[formName].validate((valid) =>{} 无效的问题当验证通过的时候点确定按钮没有报错,也没有任何反应代码:当验证不通过的时候:第632行有打印false但是当验证都通过的时候:第632行没有打印如果是这种情况就要考虑是在做验证的时候出错啦!每一个 if 都要对应了一个 else 并且每个条件 下 都要 callback 确保 在不同情况下 都会执行callback所以要在验证时加上else的callback()...转载 2022-04-10 11:07:15 · 4653 阅读 · 0 评论 -
什么是JWT
什么是JWTJson web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。起源说起JWT,我们应该来谈一谈基于token的认证和传统的session认证的区转载 2022-04-02 14:04:09 · 426 阅读 · 0 评论 -
Springboot + Swagger3 集成和配置
Springboot + Swagger3 集成和配置 1.创建Springboot项目2. 配置Swagger2.1 (必选)添加开关注解@EnableOpenApi2.2 (可选)自定义首页属性 Docket配置 3. 使用第三方UI 本文将简单介绍Springboot 集成 Swagger3, 关于Springboot + Swagger2 可以查看: Springboot + Swagger2 集成和配置 基于前文的基础,简单介绍下swagger3, Swagger3在Swag..转载 2022-03-31 22:26:21 · 1637 阅读 · 0 评论 -
npm是什么?是干什么的?
npm是什么?是干什么的?写在前面:本人在学习各种技术的过程中发现都会遇到一个名叫“npm”的东东,本着知其然也要知其所以然的精神,我找到了一篇相关文章。它很好的告诉了我什么是npm,现在把它拿出来,意在分享给其他像我一样的小白们。社区程序员自古以来就有社区文化:社区的意思是:拥有共同职业或兴趣的人们,自发组织在一起,通过分享信息和资源进行合作。虚拟社区的参与者经常会在线讨论相关话题,或访问某些网站。前端程序员也有社区,世界上最大的前端社区应该就是 GitHub 了。前端通过 GitHub 来转载 2022-03-27 10:53:22 · 578 阅读 · 0 评论 -
Springboot登陆页面图片验证码
1、生成验证码的工具类可以直接用将随机生成的验证码保存在session中public class RandomValidateCodeUtil { public static final String RANDOMCODEKEY= "RANDOMVALIDATECODEKEY";//放到session中的key private String randString = "0123456789";//随机产生只有数字的字符串 private String //private原创 2022-03-27 00:25:59 · 1232 阅读 · 0 评论 -
Springboot短信验证码(无需企业商户认证)
1、进入阿里云市场购买第三方短信接口先进入阿里云市场注意是云市场搜索,短信在下方选择一个短信服务,因为是第三方云市场而不是个人商户认证,所以短信的模板不是自己随心所欲的定义的购买短信服务(0元5次体验)0元体验5次,或者花钱购买更多次数也行购买完毕之后,查看“已经购买的服务”购买的服务中有三个参数(配置的时候有用)AppkeyAppSecretAppCode2、准备在代码端进行配置首先点开刚刚购买的服务,参考API接口这个页面往下翻得到如图原创 2022-03-26 16:09:38 · 2811 阅读 · 4 评论 -
Springboot支付宝沙箱支付---完整详细步骤
支付宝沙箱支付,详细步骤原创 2022-03-06 01:25:24 · 56077 阅读 · 40 评论 -
内网穿透实现步骤
开发工具natapp进入natapp官网https://natapp.cn/登陆注册进行实名认证购买隧道(免费)购买完毕后点击“我的隧道”查看客户端下载下载压缩包后解压得到exe可执行文件解压到一个非中文没有空格的目录下进行配置在natapp.exe同级目录下创建 config.ini 文件,然后编辑配置ini,具体内容见https://natapp.cn/article/config_ini注意:配置中的authtoken 的值在“我的隧道”中查看配置内网穿透原创 2022-02-28 20:26:02 · 438 阅读 · 0 评论 -
Java中 日期 与 字符串 的相互转换
格式化类获取当前时间戳日期转换为字符串字符串转换为日期 //格式化 SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //获取当前时间戳 Date date = new Date(System.currentTimeMillis()); //将日期Date转为字符串 String format = form.原创 2022-02-20 15:33:17 · 812 阅读 · 0 评论 -
CSS让背景图适应整个屏幕(填满)
html代码如下<body>/*此处内容省略*/</body>使用css设置背景图片并且铺满整个屏幕(不重复),代码如下body{ /*设置背景图片*/ background-image: url("../images/background/back.jpg") ; background-size: 100% 100%; background-size: cover; background-repeat: no-repe.原创 2022-01-17 23:23:05 · 17957 阅读 · 3 评论