- 博客(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
337
原创 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
349
转载 状态码206之断点续传
背景:项目中需要下载到本地的视频文件,可能因为网络或其他原因导致下载中断,需要支持断点续传功能。实现:在http请求头中添加:Range字段,指定需要下载的字节位置。同时使用RandomAccessFile.seek实现指针的移动。参考链接:https://www.cnblogs.com/simonbaker/p/5190675.html状态码之206...
2020-08-18 10:26:24
1051
原创 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
653
原创 将日志文件的指定行输出到新的文件
背景:一个日志文件有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
2175
原创 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
2269
原创 Linux执行java命令:could not find or load main class
修改:/etc/profile文件中CLASSPATH环境变量主要注意CLASSPATH的那个"."。
2020-08-06 10:23:47
908
原创 get请求URL参数传递中文问题
1、传递前进行一次encodeURI(目标服务器编码需为utf-8)参考链接:URL中参数值带有中文的解决方案2、传递前进行两次encodeURI(目标服务器编码不需修改,一般为(iso-8859-1))参考链接:解决URL传中文参数乱码问题及原理...
2020-07-04 14:30:03
1709
原创 IDEA 中合并分支到主干master
Local Branches1、切换到主干分支:git checkout master2、合并分支到主干:git merge dev_branch3、解决可能存在的冲突Local Branches >>> Remote Branches4、git push
2020-06-29 16:32:45
901
原创 跨重定向请求传递数据
在处理完POST请求后,通常来讲一个最佳实践就是执行一下重定向。除了其他的一些因素外,这样做能够防止用户点击浏览器的刷新按钮或后退箭头时,客户端重新执行危险的POST请求。当控制器方法返回的String值以"redirect:"开头的话,那么这个String不是用来查找视图的,而是用来指导浏览器进行重定向的路径。一般来讲,当一个处理器方法完成之后,该方法所指定的模型数据将会复制到请求中,并作为...
2020-04-20 23:56:54
220
原创 为所有控制器处理异常——@ControllerAdvice
控制器通知(controller advice)是任意带有@ControllerAdvice注解的类,这个类会包含一个或多个如下类型的方法:@ExceptionHandler注解标注的方法;@InitBinder注解标注的方法;@ModelAttribute注解标注的方法;在带有@ControllerAdvice注解的类中,以上所述的这些方法会运用到整个应用程序所有控制器中带有@Req...
2020-04-20 23:11:29
272
原创 文件上传——处理MultiPart形式的数据
1、配置multipart解析器(注入实现类)DispatcherServlet并没有实现任何解析multipart请求数据的功能。它将任务委托给Spring中MultipartResolver策略接口的实现,通过这个实现类来解析multipart请求中的内容。Spring内置了两个MultipartResolver的实现供我们选择:CommonsMultipartResolverSta...
2020-04-20 22:53:57
638
原创 SpringMVC请求流程
1、所有请求都会通过一个前端控制器,SpringMVC中DispatcherServlet就是前端控制器(前端控制器是常用的Web应用程序模式,在这里单实例的Servlet将请求委托给应用程序的其他组件来执行实际的处理);2、前端控制器查询处理器映射,确定发送请求的目标控制器(DispatcherServlet负责将请求发送给控制器controller,但控制器有多个,所以查询处理器映射[根据请...
2020-04-20 22:29:38
623
原创 注入AspectJ切面
如果在执行通知时,切面依赖一个或多个类,我们可以在切面内部实例化这些协作的对象。但更好的方式是,借助Spring的依赖注入把bean装配到AspectJ期末中。通常情况下,Spring bean由Spring容器初始化,但是Aspect切面是由AspectJ在运行期创建的。等到Spring有机会为Aspect注入bean时,Aspect已经被实例化了。因为Spring不能负责创建Aspect,...
2020-04-20 22:03:13
616
原创 切面编程——通过注解引入新功能
一般在使用切面时,所包装的都是被通知对象的已有方法。但是方法包装仅仅是切面所实现的功能之一。如何通过编写切面,为被通知的对象引入全新的功能呢?在Spring中,切面只是实现了他们所包装bean相同接口的代理。如果除了实现这些接口,代理也能暴露新接口的话,切面所通知的bean看起来像是实现了新的接口。当引入的接口方法被调用时,代理会把此调用委托给实现了新接口的某个其他对象。实际上,一个bean...
2020-04-20 20:43:50
197
原创 Spring中如何将会话或请求作用域的bean注入单例bean
Spring中的单例bean,会在应用上下文加载的时候创建。如果单例bean中的属性需要注入会话作用域的bean时,此时并不存在会话作用域的bean。直到接收到某个请求创建会话之后才会创建。此时需要使用@Scope注解的proxyMode属性。@Bean@Scope(value=WebApplicationContext.SCOPE_SESSION, proxyMode=Scopeed...
2020-04-19 17:14:01
329
原创 Spring高级装配——条件化的bean
Spring实战中讲解条件化的bean时,所举条件化创建bean的例子:希望一个或多个bean只有在应用的类路径下包含特定的库时创建;希望某个bean只有当另外某个特定的bean也声明之后才会创建;要求某个特定的环境变量设置之后,才会创建某个bean;设想一种场景:应用部署在多台服务器上,而想应用的其中某个服务只运行在一台服务器上(比如定时任务或者kafka消息监听处理消息等服务),我...
2020-04-18 19:08:10
266
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
1952
1
原创 本机安装Kafka小结
折腾了一个晚上才把Kafka搭好,使用网上的demo测试连接成功。看着网上别人的搭建过程,看似简单,自己实际动手的时候还是踩了不少的坑。简单记录一下。1、Kafka及zookeeper官网下载极慢,浪费了点时间,后来使用国内的镜像,才解决下载问题;2、下载了源码包不是编译之后的包,运行报错;3、防火墙端口未打开;4、配置文件zookeeper监听地址没写虚机ip,默认localhost报错...
2020-04-04 23:46:44
942
原创 apache镜像仓库下载地址
1、https://mirror.bit.edu.cn/apache/2、https://mirrors.tuna.tsinghua.edu.cn/apache/
2020-04-04 19:59:26
1378
原创 虚拟机改错/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
1192
原创 mybatis批量更新数据的case when 写法
背景:项目中采集的多条控制人信息,在页面需要重新编辑提交时需要批量进行更新。本来采用多条update,但是不够香。改为case when形式,提高执行效率。参考链接:Mybatis中利用foreach批量更新数据...
2020-04-03 18:46:05
3561
1
原创 动态创建的页面id选择器拼接变量
背景:创建的动态页面中包含不少js函数,其中js函数里的id选择器中id为变量,拼接时不熟悉,调试了好一会儿。记录一下:总结:原 ‘’ 需要转义 \’ \’ ,变量写为 ‘+x+’ 。...
2020-04-03 11:30:07
1109
原创 bootstrap校验laydate日期输入框时不实时生效问题
背景:bootstrap校验与laydate插件结合使用时,非空校验后选择日期不能实时校验。解决方式:bootstrapValidator部分代码,要注意加上trigger:“change”,这一行,开启监听change()方法的执行。...
2020-04-03 10:25:29
563
原创 前端传值(对象内包含数组),后端接收问题
背景:原有的参数采集需要新增采集数组[{对象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
5489
原创 动态添加地区插件失效问题
背景:需要动态采集受益人信息,最少一个,最多十个。其中包括地址信息,在动态添加插件的时候不生效。经过检索原因:在首次初始化页面的时候,地区插件加载过了。而后来动态添加的插件是未经初始化的,只需在插入后再次初始化即可。...
2020-03-31 11:43:58
110
原创 输入框实时提示可输入字符数
业务提了个需求,要求在输入框输入经营范围时,实时提示尚可输入的字符数。因为前端主要使用Bootstrap,最开始思路看Bootstrap的表单验证插件有没有提供类似的功能。BootStrap提供的验证常见有:notEmpty(非空)stringLength(字符限制)regexp(正则匹配)different(不一致校验)identical(一致校验)等等。没有我们想要的内容。后...
2020-03-24 09:47:57
806
原创 使用索引的三原则
在选择索引和编写利用这些索引的查询时,有如下3个原则始终需要记住:单行访问是很慢的。特别是在机械硬盘存储中(SSD的随机I/O要快很多,不过这一点仍然成立)。如果服务器从存储中读取一个数据块只是为了获取其中一行,那么就浪费了许多工作。最好读取的块中能包含尽可能多所需要的行。使用索引可以创建位置引用以提升效率。按顺序访问范围数据是很快的。原因1:顺序I/O不需要多次磁盘寻道,所以比随...
2020-01-10 15:44:45
342
原创 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
535
原创 Schema与数据类型优化
囫囵吞枣学习了高性能Mysql的第四章内容,抄录一下总结,以免遗忘的太快。尽可能保持任何东西小而简单总是好的。Mysql喜欢简单,需要使用数据库的人因该也通用喜欢简单的原则:尽量避免过度设计,例如会导致及其复杂的schema设计。使用小而简单的合适数据类型,除非真是数据模式中有确切的需要,否则应改尽可能地避免使用NULL值(例如timestamp没必要使用NOT NULL)。尽量使用相同...
2020-01-06 20:45:29
82
原创 页面beetl代码打桩调式
项目后管系统使用了beetl,上线后业务人员发现不能编辑审核员下拉框。最后定位问题:copy之前代码时,变量名未修改,导致使用了未经定义的变量。错误代码如下:@var roles = shiro.getUser().roleNames; var allRoles1 = "";@for (role in roles) {allRoles = allRoles1 + "," +role;}@i...
2019-12-10 17:40:09
237
原创 使用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
591
原创 jQuery ui Autocomplete Events(select)校验问题
项目中遇到一个需求:采集地区代码时,输入地区数字代码或者地区名称,展示模糊选项,并且对输入的内容进行校验。采用jQuery ui 插件解决,jQuery ui 下载地址。遇到如下问题:在触发select事件时,调用bootStrap校验函数不生效。代码如下:$(#areaCode).autocomplete({ source:districtCode, minLength:2, s...
2019-12-04 15:31:17
486
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人