具体的功能实现
文章平均质量分 64
具体的功能实现
沐雨橙风ιε
Java全栈开发小白~
展开
-
使用自定义的shiro密码匹配器CredentialsMatcher完成密码验证
CredentialsMatcher的接口,这个接口的中文含义就是密码匹配器,而shiro默认通过其实现类。SimpleCredentialsMatcher来进行输入的密码和数据库的密码的比较(简单的等值比较)。然后神奇的事发生了,当密码输入错误的时候,居然会登录失败,我们并没有写对比密码的代码。一般在这里,我们会根据用户输入的用户名/手机号等查询数据库,然后把查询的结果封装成。我们使用shiro的API登录时,会先创建一个令牌对象,而经常用的令牌对象是。当数据库存储的密码不是明文时,就不能使用默认的。原创 2024-06-24 02:37:36 · 410 阅读 · 0 评论 -
Spring Session将HttpSession保存到Redis中,实现重启应用会话不丢失
这篇文章介绍一下在springboot项目中整合Spring Session,将session会话信息保存到Redis中,防止重启应用导致会话丢失。原创 2024-06-24 23:56:03 · 318 阅读 · 0 评论 -
根据类上的注解信息生成创建表的SQL语句
定义一个实体类,在字段上使用knife4j的接口文档注解@ApiModelProperty注解指定字段名。原创 2024-06-28 18:22:01 · 445 阅读 · 0 评论 -
jquey+mybatis-plus实现简单分页功能
这篇文章介绍一下怎么通过JQuery结合mybatis-plus的分页插件实现原生HTML页面的分页效果,没有使用任何前端框架,主要是对前端知识的应用。原创 2024-06-18 15:21:56 · 320 阅读 · 0 评论 -
Redis保证数据一致性-延时双删代码实现
Redis和数据库的数据一致性在某些场景下非常重要,如何最大程度保证Reids和数据库之间的数据一致呢?想必大家第一时间会想到延时双删策略:在修改数据库之前删除缓存,然后数据库中的数据修改完成后,再过一段时间再删一次缓存。这篇文章就如何实现延时双删提供了案例代码,代码可能不是最优的,但是确实能够达到双删的效果。原创 2024-03-10 02:57:57 · 1601 阅读 · 0 评论 -
如何计算2的n次方
我的第一反应是java.util.Math有一个pow(a, b)方法,就是求a ^ b,但是由于很少用这个方法,居然参数是float类型的。得出纹饰等级grade和纹饰评分score的关系:score = (2 ^ grade) * 10,所以就遇到了要求2的N次方的问题。于是只能另寻他法了,于是在百度的时候我突然想起了位运算,2是特殊的数字,一个数字要扩大2^N呗,只需要左移N位。原创 2023-12-17 07:16:10 · 564 阅读 · 0 评论 -
Java怎么获取今天最早的时间
今天在实现项目里的一个功能的时候,需要获取今天最早的时间,比如今天是2024-4-15,则今天的开始时间为2024-4-14日24点之后(2024-4-15零点)的那个时间点。很简单,通过LocalDateTime.now()获取当前时间,然后用这个时间分别减去当前时间的。原创 2024-04-15 22:53:38 · 410 阅读 · 0 评论 -
php查询数据库,并通过表格展示
php查询数据库,并通过表格展示原创 2023-12-16 20:54:36 · 722 阅读 · 0 评论 -
使用HttpSession和过滤器实现一个简单的用户登录认证的功能
这篇文章分享一下怎么通过session结合过滤器来实现控制登录访问的功能,涉及的代码非常简单,通过session保存用户登录的信息,如果没有用户登录的话,会在过滤器中处理,重定向回登录页面。创建一个springboot项目,添加springbooot-starter-web和lombok的依赖。创建对应的实体类、controller、service,并创建两个简单的html页面测试过滤器的效果。原创 2024-01-05 15:37:36 · 1322 阅读 · 0 评论 -
在Flyway执行数据库脚本之前创建数据库
Flyway让我们不用手动执行sql脚本,但是众所周知,前提是要先创建项目的数据库。为了能够让运维的同事再偷一次懒,通过代码来自动完成数据库的创建,于是有了这篇文章的分享~原创 2024-01-06 15:08:39 · 984 阅读 · 0 评论 -
清理缓存简单功能实现
在程序开发中,经常会用到缓存,最常用的后端缓存技术有Redis、MongoDB、Memcache等。而有时候我们希望能够手动清理缓存,点一下按钮就把当前Redis的缓存和前端缓存都清空。功能非常简单,创建一个控制器类CacheController,并提供一个post请求的接口/cache/clean供用户使用。原创 2024-05-11 16:28:04 · 486 阅读 · 0 评论 -
Java通过百度地图API获取定位-普通IP定位
上面的代码已经是进行了一定的优化,除此之外,可以把AK和SK配置到application.yml中,可以动态地修改。最后重命名一下这个类,改成类似LocationUtils这样的名字。t=N7T8百度地图开放平台 | 百度地图API SDK | 地图开发https://lbsyun.baidu.com/index.php?原创 2024-05-10 20:36:32 · 2813 阅读 · 0 评论 -
java接收前端easyui datagrid传递的数组参数
java接收前端easyui datagrid传递的数组参数原创 2023-11-16 12:38:21 · 691 阅读 · 0 评论 -
通过easyexcel导出数据到excel表格
这篇文章简单介绍一下怎么通过easyexcel做数据的导出,使用之前easyui构建的歌曲列表crud应用,添加一个导出按钮,点击的时候直接连接后端接口地址,在后端的接口完成数据的导出功能。代码已经同步到后端项目的springbooot-crud1.0分支,可按需获取~参考官网的案例代码,完成后端controller接口具体代码实现。springboot+mybatis实现简单的增删查改案例项目。修改实体类,添加列注解。原创 2023-11-11 16:32:09 · 642 阅读 · 0 评论 -
自定义SpringMVC拦截器,实现内外网访问控制功能
这篇文章简单介绍如何自定义一个SpringMVC拦截器,并通过拦截器实现具体的功能。首先,需要创建一个自定义的拦截器类,该类实现。HandlerInterceptor接口。然后把拦截器注册到SpringMVC。原创 2023-11-04 03:50:24 · 309 阅读 · 0 评论 -
Java集合如何遍历删除指定元素
Java集合如何遍历删除指定元素原创 2022-08-10 00:17:12 · 7184 阅读 · 1 评论 -
springboot项目配置多数据源
springboot项目配置多数据源原创 2022-08-09 21:58:40 · 589 阅读 · 0 评论 -
怎么把数据有序存入map
怎么把数据有序存入map原创 2022-08-16 15:02:46 · 2528 阅读 · 1 评论 -
Java文件上传与下载
Java文件上传与下载原创 2022-09-22 09:01:58 · 823 阅读 · 0 评论 -
react给Input绑定onChange事件
react给Input绑定onChange事件原创 2022-09-05 11:59:36 · 2115 阅读 · 0 评论 -
easyui通过Mybatis-Plus实现动态字段排序
利用周末时间,对自己的项目进行了升级,原来使用的是tkmybatis,改为mybatis-plus。但是返回数据的格式变了,导致前端的客户端排序失效了,于是决定在服务端实现排序。easyui的数据表格datagrid支持多字段排序,可以控制是否通过服务器排序,核心代码如下。原创 2022-10-31 20:02:32 · 6290 阅读 · 0 评论 -
java从前端传数组到后端实现通过id批量删除数据
java从前端传数组到后端实现通过id批量删除数据原创 2022-11-02 19:46:08 · 3935 阅读 · 1 评论 -
使用shiro+aop实现权限控制
使用shiro+aop实现权限控制原创 2022-11-16 11:46:09 · 1108 阅读 · 0 评论 -
HBuilderX和IntelliJ IDEA实现简单登录认证功能
HBuilderX和IntelliJ IDEA实现简单登录认证功能原创 2022-10-17 23:22:01 · 11414 阅读 · 3 评论 -
layui动态设置单选按钮选中
layui动态设置单选按钮选中原创 2022-10-17 20:28:36 · 4896 阅读 · 0 评论 -
如何通过java程序批量下载远程服务器的图片
如何通过java程序批量下载远程服务器的图片原创 2023-06-18 01:51:21 · 859 阅读 · 0 评论 -
给easyui的progressbar添加设置text和背景颜色的方法
给easyui的progressbar添加设置text和背景颜色的方法原创 2023-02-03 05:54:24 · 486 阅读 · 0 评论 -
通过easyui的filebox上传文件
以上是一个完整页面的HTML代码,我们只需要关注以下代码片段,其中设置了一个用于保存文件上传的回显图片URL,当我们提交表单时,会把这个url一起提交到后台,这时候只需要完成通过ID修改图片的操作。当我们选中某行数据时,点击【图片】按钮,就会打开我们的文件上传的对话框,同时如果这行记录本来的图片不为空,也会显示出来,并且设置隐藏域的value为该记录的image值。以上是表单的同步提交,如果是异步提交的话,又该怎么做呢?原创 2023-06-26 18:24:22 · 3793 阅读 · 0 评论 -
扫描出项目中未被引用的控制器接口的工具类(超级好用)
扫描出项目中未被引用的控制器接口的工具类原创 2023-06-01 14:03:00 · 258 阅读 · 0 评论 -
给easyui的progressbar组件添加一个设置进度条进度的方法
给easyui的progressbar组件添加一个设置进度条进度的方法原创 2023-01-14 06:56:17 · 693 阅读 · 0 评论 -
手把手教你如何把系统的前端页面改成vue 脚手架项目,实现前后端分离
目录第一步:检查node.js是否安装第二步:配置npm源第三步:安装vue-cli第四步:创建vue项目第五步:启动项目第六步:整合静态资源首先,我们需要新建一个vue的脚手架的项目,在此之前,需要安装node.js打开IntelliJ IDEA或者win+R,输入cmd,打开dos命令窗口,使用cd命令切换到存放vue项目的根目录,比如:把vue项目放到D:/program/vue-workspace。当然了,首先我们要创建这个文件夹。接下来演示在idea里面创建一个名为vue-project的vue-原创 2023-06-09 17:15:36 · 4313 阅读 · 2 评论 -
怎么让查询数据库操作在flyway创建表之后执行
这篇文章分享一下第一次启动项目时遇到的flyway和查询数据库操作的顺序问题,因为shiro的配置类里需要查询所有的接口权限,然后交给我们自定义的过滤器来处理,但是第一次启动的时候,表和视图都还没有创建,所以启动的时候肯定会报错,表xxx不存在。flyway的配置类。以上代码是shiro的配置类,可以看到这段代码,就是查询权限表的数据,然后把权限对应的URL都交给我们自定义的过滤器AuthorizationFilter处理。步骤二:启动类上排除flyway的自动配置类。步骤一:自定义flyway的配置类。原创 2023-07-10 18:45:39 · 306 阅读 · 0 评论 -
使用传统的jdbc方式操作数据库
现在开发中有了mybatis、jdbcTemplate之后,已经很少公司会直接使用jdbc来连接数据库了,但是无论是mybatis还是jdbcTemplate,其底层都是jdbc。原创 2023-07-13 18:47:32 · 158 阅读 · 0 评论 -
分享几个在项目中经常用到的工具类
我们在进行项目开发的时候可能会经常用到一些字符串相关的操作,然后可能产生大量冗余的代码,这时候可以把我们用到的操作提取出来,放到一个单独的工具类里,比如命名为StringUtils,这个工具类里的方法几乎可以涵盖我们日常所需,接下来,我将个人的几个工具类分享给大家。原创 2023-06-26 19:29:43 · 447 阅读 · 0 评论 -
使用easyui的tree组件实现给角色快捷分配权限功能
使用easyui的tree组件实现给角色快捷分配权限功能原创 2023-07-29 00:16:28 · 1318 阅读 · 0 评论 -
easyui动态控制表格字段显示、导出表格数据
通过easyui实现动态控住表格字段显示、导出表格数据原创 2023-08-06 07:24:54 · 3518 阅读 · 1 评论 -
调用post请求方式的feign接口怎么传递多个参数,包含对象和字符串
feign的post请求接口传递多个参数原创 2023-07-21 18:08:12 · 3973 阅读 · 0 评论 -
Java实现登录验证码的功能
Java实现登录验证码的功能原创 2023-09-16 14:25:10 · 6997 阅读 · 1 评论 -
java实现一个简单的账号登录时的邮件通知功能
java实现一个简单的账号登录时的邮件通知功能原创 2023-09-18 08:30:12 · 786 阅读 · 0 评论 -
使用责任链设计模式修改登录接口的业务代码,提高扩展性
起初,handle()方法上是有一个Object params参数的,后来通过整体需求,调整为将参数设置成成员变量,通过setParams()方法手动设置。然后在UserLoginHandler接口的具体实现类的handle()方法上调用下一个处理器的handler()方法(如果下一个处理器不为null)。于是就开始着手设计处理链,首先创建一个接口,表示登录的处理器,里面定义了处理方法、设置参数和设置下一个处理器的方法。负责修改用户最后一次登录时间的处理器UserUpdateHandler.java。原创 2023-10-08 04:56:43 · 143 阅读 · 0 评论