知识储备
辛晨V
可歌可泣的程序员,写得了代码下得了厨房
展开
-
JAVA Calendar 设置上个月时,日期不存在或错误提示
java进行日期计算时,上个月日期一般使用: calendar.set(Calendar.MONTH, calendar.get(Calendar.MONTH) - 1); // 设置为上一个月进行,操作,但是当月份不存在、日期不存在如:4.31 2.31 不存在的日期时,处理就容易出现问题,此处仅提供思路可以按照自己显示。Calendar calendar = Calendar.getInstance();calendar.setTime(date); // 设置为当前时间1、如.原创 2022-04-01 17:32:54 · 1407 阅读 · 0 评论 -
pagehelper 返回集合数据时,limit分页位置自定义
场景:需要返回List<map>集合,且期中存在需要collection 进行部分集合数据进行汇总,因为pageHelper默认是在sql语句最后加入limit语句,就会导致最终的查询结果少于分页数量解决:第一步:重写helperDialect类继承MySqlDialectimport com.github.pagehelper.Page;import com.github.pagehelper.dialect.helper.MySqlDialect;import org.原创 2022-03-29 17:30:56 · 1945 阅读 · 0 评论 -
Spring MVC 统一异常处理类,返回页面或json数据
需求:1、创建统一权限异常处理类,所有的权限异常走一个端口2、根据请求方式不同返回不同数据,页面请求返回403未授权页面,ajax请求返回json数据/** * 授权权限异常 */ @ExceptionHandler({UnauthorizedException.class}) public ModelAndView unauthorizedException(UnauthorizedException e, HttpServletRequest requ原创 2022-03-17 11:21:47 · 979 阅读 · 0 评论 -
下载图片 getInputStream、available()问题
需求:用户请求URL,根据请求内容加载网络图片并显示到用户端。涉及步骤:1、根据URL下载图片2、将图片写出到客户端查看问题:图片加载失败或出现残缺问题原因:inputStream.available()读数异常,在本地加载图片时available方法一般没有问题,但是加载URL图片地址时,因为通讯过程中,字节不是一次性传输而是分批次传输的,直接导致在获取长度时图片的大小不一致,造成文件长度错误缺失数据。获取文字长度建议使用:connection.getContentLength()原创 2022-03-10 18:29:54 · 632 阅读 · 0 评论 -
Spring MVC 集成 RocketMQ
因为项目中需要使用mq进行模块解耦操作,项目为SSM项目 找了好久没有相关源码,所以按照网上的文章自己集成了一个:一、载入依赖 <dependency> <groupId>com.alibaba.rocketmq</groupId> <artifactId>rocketmq-client</artifactId> <version>3.2.6</version> </dep原创 2021-05-22 19:35:54 · 1942 阅读 · 0 评论 -
Vue设置动态title,刷新页面后title设置失效
1. 在router/index.js 中,使用meta属性的title设置好每个路由对应的title值/* router/index.js: */ const routes = [ { path: '/home/search', name: 'search', component: search, meta: { title: '首页' } }]2.在 main.js 中设置路由守卫,vue页面切换时,网页title随之切换/* main.js:.原创 2021-02-03 16:56:48 · 3436 阅读 · 0 评论 -
shiro 清除指定用户授权缓存
老规矩先上代码(干货)/** * 清空用户关联权限认证,待下次使用时重新加载 */ public void clearCachedAuthorizationInfo(Principal principal) { Subject subject = SecurityUtils.getSubject(); // String realmName = subject.getPrincipals().getRealmNames().iterator().next();原创 2020-11-04 18:12:12 · 1698 阅读 · 4 评论 -
C# 动态调整分辨率
找了很久都没找到相关方法,在这里记录一下。1、获取当前电脑分辨率: int SH = Screen.PrimaryScreen.Bounds.Height;//分辨率高度 int SW = Screen.PrimaryScreen.Bounds.Width;//分辨率宽度2、修改屏幕分辨率:using System;using System.Windows.Forms;using System.Runtime.InteropServices;[StructLayout(Lay原创 2020-09-28 14:41:30 · 977 阅读 · 0 评论 -
bootstrap-table 打印动态数据组合列
前言:bootstrap-table默认的打印组件对于数据组合表头并不是很合适,打印组合列会出现各种各样的问题,于是对bootstrap-table-print进行升级。先看结果:说到底,是因为插件的原理是,将table进行重组重新渲染,渲染的时候因为合并列造成合并的数据无法渲染,于是小小的重写了一下。/** * @update sunck */const Utils = $.fn.bootstrapTable.utilsfunction printPageBuilderD原创 2020-09-12 14:17:51 · 1387 阅读 · 2 评论 -
o SecurityManager accessible to the calling code, either bound to the org.apache.shiro.util.ThreadCo
很明显是shiro权限问题;这里我使用系统内部定时器调用service 但是其中有一段代码是调用的shiro 获取subject,问题就出来这里。此方法根本没有走http shiro路径,调用subject方法就会报错误。就如:shiro你不走我凭什么拿我的东西加一个trycatch即可...原创 2020-08-24 19:04:51 · 595 阅读 · 0 评论 -
kaptcha 生成验证码并进行校验
一、验证码校验策略:生成图片验证码--->存入session---->前台提交验证码---->校验session存储的验证码字段二、代码类CaptchaConfig 验证码配置类package com.sunck.common.config;import java.util.Properties;import com.google.code.kaptcha.util.Config;import com.google.code.kaptcha.impl.Defa原创 2020-08-21 09:47:45 · 923 阅读 · 0 评论 -
SpringBoot Shiro 登录成功后返回json数据 shiro使用ajax登录
老规矩,先上代码:protected boolean onLoginSuccess(AuthenticationToken token, Subject subject, ServletRequest request, ServletResponse response) throws Exception { //WebUtils.redirectToSavedRequest(request, response, JSON原创 2020-08-19 20:30:30 · 1134 阅读 · 0 评论 -
IDEA SpringBoot HTML等静态资源自动更新-热部署问题(终结版)
关于idea热部署问题,网上大量的都是一个版本修改settings,但是这个方法我行不通发现热更新失效,找到以下两种方法:一、原方法修改setting1、增加项目热更新jar依赖 <!-- 热部署依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-原创 2020-08-19 10:29:50 · 4367 阅读 · 2 评论 -
shiro 初始化SimpleAuthenticationInfo 问题
当shiro调用 doGetAuthenticationInfo 进行用户密码校验时,获取到用户信息后进行提交校验: SimpleAuthenticationInfo simpleAuthenticationInfo = new SimpleAuthenticationInfo(user, user.getPassword().toString(), getName()); return simpleAuthenticationInfo;源码:public SimpleAuth...原创 2020-08-18 16:55:30 · 1735 阅读 · 0 评论 -
SpringBoot 静态类引入service 空指针/NULL问题
Spring注入service后,正常情况下非静态方法是可以正常使用注册的service的,当时用静态类引用的时候,静态类static方法会将spring注入的service清空,造成引用空指针的情况,如何解决呢?@Componentpublic class UserUtils { @Autowired private UserService userService; private static UserUtils userUtils; @PostCo.原创 2020-08-17 17:37:30 · 725 阅读 · 0 评论 -
SpringBoot 集成 mybatis+Aili Druid
1、引入依赖:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/m原创 2020-08-03 09:37:53 · 156 阅读 · 0 评论 -
POI批量替换world文档XWPFParagraph.getRuns 出现分段混乱(附源码)
问题:在操作POI替换world时发现getRuns将我们预设的${product}自动切换成了 ${product, }]${product }成了两个部分 解决方法一。(未尝试) 强制把List中的内容合并成一个字符串,替换内容后,把段落中的XWPFRun全部remove掉,然后新建一个含有替换后内容的XPWFRun,并赋给当前段落。 解决方法二. 请用复制粘贴把你的${prod原创 2017-11-02 18:26:03 · 16398 阅读 · 12 评论 -
POI操作word 换行
关于POIword换行问题,网上好多都是C+V的用起来各种报错,,其实很简单 只要使用addCarriageReturn()硬回车 addBreak()软回车即可this.para.insertNewRun(i).setText("换行换行"); this.para.insertNewRun(i).addCarriageReturn();//硬回车this原创 2017-11-06 11:34:22 · 18547 阅读 · 1 评论 -
mysql insert判断记录是否存在 存在即更新不存在即插入 DUPLICATE key update
当判断一条记录是否存在不是唯一的主键而是多个条件的时候就懵了啊。。 当这种情况出现时当然还是要用 DUPLICATE key update关键词了 但是是有前提条件的,因为我们是三个条件判断记录是否存在,这个时候就考虑到了联合主键,,什么是联合主键可以自行查询一下:ALTER TABLE oa_achievement_class ADD UNIQUE (type,name,test_name)接下来就可以使用了:INSERT INTO oa_achievement_class (name,t原创 2018-04-12 09:26:32 · 2112 阅读 · 0 评论 -
mysql 通过上级IDs查询所有上级名称
表结构是这样的通过 0,1,2,3查询出相对应得名称SELECT GROUP_CONCAT(t1.`name` ORDER BY t1.type)FROM ( SELECT b.`name`, b.type, '03826d9158c542cc9578042cdfd58a7b' AS iid FROM jx_resource_classification a...原创 2018-06-27 15:44:04 · 4949 阅读 · 0 评论 -
使用jacob,PPT转PDF
本地电脑需要安装WPS介意的不需要往下看了,因为原装的jacob好像转有点问题最新的要jdk1.8以上so只能用wps插件了资源下载地址:https://download.csdn.net/download/s1040342522/10549518 private static final Integer PPT_TO_PDF_OPERAND = 32; public stat...原创 2018-07-18 18:08:18 · 1132 阅读 · 0 评论 -
treetable 实现动态加载数据
Settings Setting Type Default Description branchAttr string "ttBranch" 可选,强制打开节点的展开图标,允许将一个没有儿子节点的节点定义为分支节点,在HTML里面以dat...原创 2018-07-31 09:57:19 · 6252 阅读 · 0 评论 -
MySQL如何获取指定时间段内的所有日期
SELECT DISTINCT date_format( DATE_ADD( '2018-08-20', INTERVAL id DAY ), '%Y-%m-%d' ) AS `TIME`FROM sys_logWHERE DATE_ADD( '2018-08-20', INTERVAL id DAY ) <= '2018-08-26'ORD...原创 2018-08-22 14:46:40 · 10647 阅读 · 0 评论 -
shiro JSP标签判断多个权限标识 hasAnyPermissions hasPermission
<customTag:hasAllRoles name="admin,user">拥有admin和user角色</customTag:hasAllRoles> <customTag:hasAllPermissions name="user:create,user:update">拥有user:create和user:update权限&l...原创 2018-08-23 15:12:26 · 12379 阅读 · 2 评论 -
mysql查询IN索引无效的问题【已解决】
使用IN查询时,数据为相同类型的数据是可以正常使用索引的但是,当IN里面嵌套子查询的是,emmm神一般的消失掉了?询问大佬之后,说是当时用select之后使用了函数内部转换,mysql是不支持函数索引的。so,问题来了应该怎么办呢?直接与子查询进行join关联,这种写法相当于IN子查询写法,而且效率有不少的提高 EXPLAIN SELECT a.id, a.st...原创 2019-03-18 14:33:32 · 11358 阅读 · 3 评论 -
Spring关于@Scheduled限制问题
@Scheduled具有一定的限制性,它毕竟不是quartz,只是简单的定时,比jdk Timer就加入了线程池而以@Scheduled 不支持年份定时 @Scheduled 不支持W L这些字母没办法 如果非要使用那就只能放弃注解使用XML方式了原创 2017-10-18 17:31:53 · 1510 阅读 · 0 评论