自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 前端jQuery选择器小记

背景:维护客服系统,修改问卷,从数据库读取题目和答案后动态生成页面及提示信息。首先记录个bug:动态生成的input元素id使用数据库存储的题目编号,题目编号包含“.”时,即:4.1等。此时id选择器$("#4.1")在低版本是无效的,高版本不了解。最后使用曲线救国的方式:$("#3").parent().next().find('div[class="layui-input-block"]').eq(1).after("<p style='color:blue'> 应对话术:好点,我们

2020-09-07 19:59:24 157

原创 jar包冲突解决

背景:基础平台部莫名其妙地改了啥东西,导致使用Jenkins构建war包引入了log4j及slf4j-log4j12两个jar包(以前构建没有这个问题且本地maven打包也正常);尝试解决:使用mvn dependency:tree>tree.txt 查看依赖关系,排除引入上述jar包依赖。但是未在依赖树中发现上述两个jar包,不明原因。也就无从在maven坐标中使用exclusions进行排除。(使用verbose参数看冲突和重复的具体情况:mvn dependency:tree>tr

2020-08-19 18:16:15 246

转载 状态码206之断点续传

背景:项目中需要下载到本地的视频文件,可能因为网络或其他原因导致下载中断,需要支持断点续传功能。实现:在http请求头中添加:Range字段,指定需要下载的字节位置。同时使用RandomAccessFile.seek实现指针的移动。参考链接:https://www.cnblogs.com/simonbaker/p/5190675.html状态码之206...

2020-08-18 10:26:24 945

原创 HTMLCollection 对象

背景:测试要求layui.tree去除某些样式:使用jquery类选择器选择后执行相关函数,一直报错:未定义的元素。后来才明白类选择返回的对象为:HTMLCollection。最后代码改为:var classCo = document.getElementByClassName('layui-tree-iconClick');var calssArr = Array.from(classCo);for(var i = 1; ...

2020-08-17 11:50:35 602

原创 将日志文件的指定行输出到新的文件

背景:一个日志文件有500万行,大小有500M左右,实际有价值信息的只有前5000行。现在需要将前5000行日志输出到新的文件。sed -n '1,5000 p' origin.log>destination.log含义:Linux sed 命令是利用脚本来处理文本文件。sed 可依照脚本的指令来处理、编辑文本文件。Sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。语法sed [-hnV][-e<script>][-f<script

2020-08-12 14:16:06 1860

原创 layui-tree树形组件的使用

项目中需要使用二级菜单,点击查看功能按钮显示二级菜单,然后点击不同的菜单弹出不同的窗口。点击一级菜单不跳转,收起二级目录。首次使用layui.tree,简单记录一下:$(".check").click(function(){ layui.use('tree',function(){ var tree = layui.tree, data = [{ title:'业务内容', id:1, spread:true, children:[{ title:'

2020-08-06 10:53:47 2166

原创 Linux执行java命令:could not find or load main class

修改:/etc/profile文件中CLASSPATH环境变量主要注意CLASSPATH的那个"."。

2020-08-06 10:23:47 814

原创 get请求URL参数传递中文问题

1、传递前进行一次encodeURI(目标服务器编码需为utf-8)参考链接:URL中参数值带有中文的解决方案2、传递前进行两次encodeURI(目标服务器编码不需修改,一般为(iso-8859-1))参考链接:解决URL传中文参数乱码问题及原理...

2020-07-04 14:30:03 1530

原创 IDEA 中合并分支到主干master

Local Branches1、切换到主干分支:git checkout master2、合并分支到主干:git merge dev_branch3、解决可能存在的冲突Local Branches >>> Remote Branches4、git push

2020-06-29 16:32:45 852

原创 跨重定向请求传递数据

在处理完POST请求后,通常来讲一个最佳实践就是执行一下重定向。除了其他的一些因素外,这样做能够防止用户点击浏览器的刷新按钮或后退箭头时,客户端重新执行危险的POST请求。当控制器方法返回的String值以"redirect:"开头的话,那么这个String不是用来查找视图的,而是用来指导浏览器进行重定向的路径。一般来讲,当一个处理器方法完成之后,该方法所指定的模型数据将会复制到请求中,并作为...

2020-04-20 23:56:54 149

原创 为所有控制器处理异常——@ControllerAdvice

控制器通知(controller advice)是任意带有@ControllerAdvice注解的类,这个类会包含一个或多个如下类型的方法:@ExceptionHandler注解标注的方法;@InitBinder注解标注的方法;@ModelAttribute注解标注的方法;在带有@ControllerAdvice注解的类中,以上所述的这些方法会运用到整个应用程序所有控制器中带有@Req...

2020-04-20 23:11:29 215

原创 文件上传——处理MultiPart形式的数据

1、配置multipart解析器(注入实现类)DispatcherServlet并没有实现任何解析multipart请求数据的功能。它将任务委托给Spring中MultipartResolver策略接口的实现,通过这个实现类来解析multipart请求中的内容。Spring内置了两个MultipartResolver的实现供我们选择:CommonsMultipartResolverSta...

2020-04-20 22:53:57 580

原创 SpringMVC请求流程

1、所有请求都会通过一个前端控制器,SpringMVC中DispatcherServlet就是前端控制器(前端控制器是常用的Web应用程序模式,在这里单实例的Servlet将请求委托给应用程序的其他组件来执行实际的处理);2、前端控制器查询处理器映射,确定发送请求的目标控制器(DispatcherServlet负责将请求发送给控制器controller,但控制器有多个,所以查询处理器映射[根据请...

2020-04-20 22:29:38 564

原创 注入AspectJ切面

如果在执行通知时,切面依赖一个或多个类,我们可以在切面内部实例化这些协作的对象。但更好的方式是,借助Spring的依赖注入把bean装配到AspectJ期末中。通常情况下,Spring bean由Spring容器初始化,但是Aspect切面是由AspectJ在运行期创建的。等到Spring有机会为Aspect注入bean时,Aspect已经被实例化了。因为Spring不能负责创建Aspect,...

2020-04-20 22:03:13 411

原创 切面编程——通过注解引入新功能

一般在使用切面时,所包装的都是被通知对象的已有方法。但是方法包装仅仅是切面所实现的功能之一。如何通过编写切面,为被通知的对象引入全新的功能呢?在Spring中,切面只是实现了他们所包装bean相同接口的代理。如果除了实现这些接口,代理也能暴露新接口的话,切面所通知的bean看起来像是实现了新的接口。当引入的接口方法被调用时,代理会把此调用委托给实现了新接口的某个其他对象。实际上,一个bean...

2020-04-20 20:43:50 155

原创 Spring中如何将会话或请求作用域的bean注入单例bean

Spring中的单例bean,会在应用上下文加载的时候创建。如果单例bean中的属性需要注入会话作用域的bean时,此时并不存在会话作用域的bean。直到接收到某个请求创建会话之后才会创建。此时需要使用@Scope注解的proxyMode属性。@Bean@Scope(value=WebApplicationContext.SCOPE_SESSION, proxyMode=Scopeed...

2020-04-19 17:14:01 271

原创 Spring高级装配——条件化的bean

Spring实战中讲解条件化的bean时,所举条件化创建bean的例子:希望一个或多个bean只有在应用的类路径下包含特定的库时创建;希望某个bean只有当另外某个特定的bean也声明之后才会创建;要求某个特定的环境变量设置之后,才会创建某个bean;设想一种场景:应用部署在多台服务器上,而想应用的其中某个服务只运行在一台服务器上(比如定时任务或者kafka消息监听处理消息等服务),我...

2020-04-18 19:08:10 190 1

原创 freemaker生成doc文档(特殊字符导致异常)

背景:freemaker生成doc文档转PDF,PDF文档为0kb(表象)。之前的代码生成doc文档转为PDF后,删除doc文档,且异常处理的时候并未输出异常日志。导致生产问题一直定位不到原因,观察了好久。后来重新调整代码,优化异常处理,不删除doc文件,才定位到问题原因。异常日志如下:2020-03-27 09:50:42,316 [ERROR] [default task-44] c.c....

2020-04-09 11:43:44 1687 1

原创 本机安装Kafka小结

折腾了一个晚上才把Kafka搭好,使用网上的demo测试连接成功。看着网上别人的搭建过程,看似简单,自己实际动手的时候还是踩了不少的坑。简单记录一下。1、Kafka及zookeeper官网下载极慢,浪费了点时间,后来使用国内的镜像,才解决下载问题;2、下载了源码包不是编译之后的包,运行报错;3、防火墙端口未打开;4、配置文件zookeeper监听地址没写虚机ip,默认localhost报错...

2020-04-04 23:46:44 744

原创 apache镜像仓库下载地址

1、https://mirror.bit.edu.cn/apache/2、https://mirrors.tuna.tsinghua.edu.cn/apache/

2020-04-04 19:59:26 1152

原创 虚拟机改错/etc/profile文件导致不能正常登录

1、在登录界面 alt +ctrl+f2进入命令模式;2、正常输入用户名密码;3、由于命令已经失效失效,使用在/usr/bin/sudo /usr/bin/vi /etc/profile 修改文件4、重启参考链接:Linux下修改profile后用户无法登陆的问题...

2020-04-04 19:12:27 1020

原创 mybatis批量更新数据的case when 写法

背景:项目中采集的多条控制人信息,在页面需要重新编辑提交时需要批量进行更新。本来采用多条update,但是不够香。改为case when形式,提高执行效率。参考链接:Mybatis中利用foreach批量更新数据...

2020-04-03 18:46:05 3428 1

原创 动态创建的页面id选择器拼接变量

背景:创建的动态页面中包含不少js函数,其中js函数里的id选择器中id为变量,拼接时不熟悉,调试了好一会儿。记录一下:总结:原 ‘’ 需要转义 \’ \’ ,变量写为 ‘+x+’ 。...

2020-04-03 11:30:07 1046

原创 bootstrap校验laydate日期输入框时不实时生效问题

背景:bootstrap校验与laydate插件结合使用时,非空校验后选择日期不能实时校验。解决方式:bootstrapValidator部分代码,要注意加上trigger:“change”,这一行,开启监听change()方法的执行。...

2020-04-03 10:25:29 505

原创 前端传值(对象内包含数组),后端接收问题

背景:原有的参数采集需要新增采集数组[{对象A},{对象A}]类型的参数,后端直接用List<实体类A>进行接收报错:Failed to instantiate [java.util.List]: Specified class is an interface。尝试方法1:重新封装模型类型B(构造参数List<实体类A>)来接收,获取数据为null。 (前端传值的格式为:...

2020-04-01 16:12:13 5270

原创 动态添加地区插件失效问题

背景:需要动态采集受益人信息,最少一个,最多十个。其中包括地址信息,在动态添加插件的时候不生效。经过检索原因:在首次初始化页面的时候,地区插件加载过了。而后来动态添加的插件是未经初始化的,只需在插入后再次初始化即可。...

2020-03-31 11:43:58 86

原创 输入框实时提示可输入字符数

业务提了个需求,要求在输入框输入经营范围时,实时提示尚可输入的字符数。因为前端主要使用Bootstrap,最开始思路看Bootstrap的表单验证插件有没有提供类似的功能。BootStrap提供的验证常见有:notEmpty(非空)stringLength(字符限制)regexp(正则匹配)different(不一致校验)identical(一致校验)等等。没有我们想要的内容。后...

2020-03-24 09:47:57 711

原创 使用索引的三原则

在选择索引和编写利用这些索引的查询时,有如下3个原则始终需要记住:单行访问是很慢的。特别是在机械硬盘存储中(SSD的随机I/O要快很多,不过这一点仍然成立)。如果服务器从存储中读取一个数据块只是为了获取其中一行,那么就浪费了许多工作。最好读取的块中能包含尽可能多所需要的行。使用索引可以创建位置引用以提升效率。按顺序访问范围数据是很快的。原因1:顺序I/O不需要多次磁盘寻道,所以比随...

2020-01-10 15:44:45 288

原创 创建高性能的索引

##索引的优点索引可以

2020-01-10 10:44:49 127

原创 BUG_4:Mysql数据库使用TINYINT(1)

MYSQL数据库会将TINYINT(1)存储的数据隐式转换为boolean类型。ALTER TABLE user_info_book ADD user_type TINYTINT(1) DEFAULT 0 COMMENT '人员类型 0 大人 1 小孩 ';从数据库查出人员类型时,0会返回false,1会返回true。这显然与数据本身的含义背道而驰。我们在建表时使用TINYINT(1...

2020-01-08 15:34:58 449

原创 Schema与数据类型优化

囫囵吞枣学习了高性能Mysql的第四章内容,抄录一下总结,以免遗忘的太快。尽可能保持任何东西小而简单总是好的。Mysql喜欢简单,需要使用数据库的人因该也通用喜欢简单的原则:尽量避免过度设计,例如会导致及其复杂的schema设计。使用小而简单的合适数据类型,除非真是数据模式中有确切的需要,否则应改尽可能地避免使用NULL值(例如timestamp没必要使用NOT NULL)。尽量使用相同...

2020-01-06 20:45:29 57

原创 页面beetl代码打桩调式

项目后管系统使用了beetl,上线后业务人员发现不能编辑审核员下拉框。最后定位问题:copy之前代码时,变量名未修改,导致使用了未经定义的变量。错误代码如下:@var roles = shiro.getUser().roleNames; var allRoles1 = "";@for (role in roles) {allRoles = allRoles1 + "," +role;}@i...

2019-12-10 17:40:09 179

原创 使用Apache poi下载excel表格偶然失效的原因

事件描述:服务运行过程中,excel下载功能偶尔不可用,因为服务器作了负载,未出现服务完全不能用的情况,未及时定位问题,分析解决。查看生产日志,发现报错信息如下:2019-11-18 14:33:20,268 ERROR [stderr] (default task-61) java.lang.RuntimeException: java.io.IOException: No such fi...

2019-12-04 16:05:34 414

原创 jQuery ui Autocomplete Events(select)校验问题

项目中遇到一个需求:采集地区代码时,输入地区数字代码或者地区名称,展示模糊选项,并且对输入的内容进行校验。采用jQuery ui 插件解决,jQuery ui 下载地址。遇到如下问题:在触发select事件时,调用bootStrap校验函数不生效。代码如下:$(#areaCode).autocomplete({ source:districtCode, minLength:2, s...

2019-12-04 15:31:17 444

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除