
编程解惑
Aquilian
满堂花醉三千客,一剑霜寒十四州。
展开
-
request.getParameter和request.getAttribute区别
(1)HttpServletRequest类有setAttribute()方法,而没有setParameter()方法(2) getParameter()方法获取的是请求链接中的参数值,或者提交表单中的参数值;getAttribute()是从请求域中获取值,这个值是需要先通过setAttribute()设置进去。...原创 2021-05-18 19:21:57 · 456 阅读 · 0 评论 -
什么是RC版本?
RC:(Release Candidate)Candidate是候选人的意思,用在软件或者操作系统上就是候选版本。Release是发行、发布的意思。Release.Candidate.就是发行候选版本。和Beta版最大的差别在于Beta阶段会一直加入新的功能,但是到了RC版本,几乎就不会加入新的功能了,而主要着重于除错!含义RC=Release Candidate,含义 是"发布候选版",它不是最终的版本,而是最终版(RTM=Release To Manufacture)之前的最后一个版本。广.转载 2021-03-30 14:04:17 · 2078 阅读 · 0 评论 -
Java后端WebSocket的Jetty实现
一.WebSocket简单介绍 在WebSocket规范提出之前,开发人员实现实时性较强的功能基本采用两种轮询方法:轮询(polling)和Comet技术。 轮询:轮询技术要求客户端以设定的时间间隔周期性地向服务端发送请求,频繁地查询是否有新的数据改动。明显地,这种方法会导致过多不必要的请求,浪费流量和服务器资源。 Comet技术可分为:长轮询、流技术。长轮询改进了上述的轮询技术,减小了无用的请求。它会为某些数据设定过期时间,当数据过期后才会向服务端发送请求;这种机制适合数据的改动...转载 2021-01-08 18:18:36 · 1069 阅读 · 0 评论 -
git操作及fatal: Authentication failed for错误解决
1、配置用户信息git config --global user.name [username]git config --global user.email [email]2、查询用户信息git config --list3、如果push遇到在输入密码是熟错后,就会报这个错误fatal: Authentication failed for解决办法:git config --system --unset credential.helper之后你在push就会提示输入名称和密码转载 2020-09-29 09:20:02 · 809 阅读 · 0 评论 -
logback 配置详解(二)——appender
1、appender <appender>是<configuration>的子节点,是负责写日志的组件。 <appender>有两个必要属性name和class。name指定appender名称,class指定appender的全限定名。 1.1、ConsoleAppender 把日志添加到控制台,有以下子节点: <en...转载 2020-03-26 15:22:45 · 429 阅读 · 0 评论 -
logback 配置详解(一)——logger、root
1、根节点<configuration>包含的属性scan:当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。scanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。debug:当此属性设置为true时,将打印出logback内部...转载 2020-03-26 15:20:14 · 886 阅读 · 0 评论 -
高并发下,使用System.currentTimeMillis()计算时间差出现负数
最近在压测一个接口,使用如下方法获取时间差:long start = System.currentTimeMillis();object.methodinvoke();long end = System.currentTimeMillis();long cost= end - start;打印的日志记录时间差,后来发现日志里出现了很多负数,感到很奇怪,查了资料,发...原创 2019-12-13 15:09:32 · 9199 阅读 · 1 评论 -
使用fastjson时出现$ref: "$.list[0]"的解决办法(重复引用)
List<Object> list = new ArrayList<>();Object obj = new Object();list.add(obj);list.add(obj);转载 2019-08-23 15:20:05 · 1316 阅读 · 0 评论 -
div添加点击事件
看了网上的一堆答案,都没法使用,不是监听方法无效,就是无响应,试了很多办法,终于搞定,在此分享下,帮助一样踩坑的童鞋:<div onclick="javascript:toSubmit();">其中“javascript:”必须要加。...原创 2019-08-12 11:38:25 · 9719 阅读 · 2 评论 -
IDEA build artifacts过程很慢的解决方案
以下是几个解决方案,可以尝试:一、可能是缓存的文件太多了导致,file->Invalidate Caches /Restart,清理缓存, 并重启IDEA。重启之后,会重建索引,此过程较慢, 但build的过程会加快。二、进入file->Project Structure->Modules->选中项目名称-paths,把Exclude Output paths 打...原创 2019-08-15 13:03:33 · 19079 阅读 · 0 评论 -
form表单同时提交带文本和图片的数据
方法一:使用ajax异步提交此种方法的好处是可以回调响应结果。html代码:<form action="${basePath}/save" method="post" name="form" id="form"> <table> <tr> <td>名称:</td> ...原创 2019-07-09 11:30:59 · 16937 阅读 · 5 评论 -
IDEA OutOfMemory(内存溢出)的问题解决
1. idea编译时内存溢出解决办法:打开设置界面,搜索Compiler(编译),如下图所示,将这个值设置为一个较大的值。2. 运行时内存溢出解决办法:打开tomcat设置页面,VM options加上参数:-server -XX:PermSize=1024M -XX:MaxPermSize=1024m...原创 2019-05-07 15:07:31 · 59080 阅读 · 1 评论 -
json解析时遇到英文双引号报错解决
有时解析json时,会碰到里面带有英文的双引号,导致解析错误,可以在前端发送到后端前,将json进行转义一下:引号"转为&quot;然后再转为json,发给后端。...原创 2018-11-28 16:28:35 · 3337 阅读 · 0 评论 -
eclipse启动时出现“Java was started but returned exit code=13......”对话框的解决方法
出现这种情况的原因是,jdk的版本和eclipse不一致,比如使用了32位的eclipse,安装的却是64位的jdk,就会弹出此错误。找到了原因,解决方法就简单明了了。首先,检查下jdk的版本(如果已经知道了,则忽略此步骤),点击开始 - 运行 - 输入cmd 确定之后 输入命令 java -version 按enter后会有显示jdk的版本和位数(32位/64位)原创 2015-09-01 15:33:45 · 1484 阅读 · 0 评论 -
Java多线程开发系列之番外篇:事件派发线程
事件派发线程是java Swing开发中重要的知识点,在安卓app开发中,也是非常重要的一点。今天我们在多线程开发中,穿插进来这个线程。分别从线程的来由、原理和使用方法三个方面来学习事件派发线程。转载 2016-04-18 14:30:41 · 747 阅读 · 0 评论 -
springMVC出现HTTP Status 405 - Request method 'GET' not supported错误的解决方法
今天在写一个简单的springMVC的表单请求处理时,出现了这个问题。我的form表单用的是post方法提交,并没有使用get方法,出现这个问题时,笔者可谓是一脸懵逼。这是form表单:这是对post请求的处理方法:检查了半天,网上的方法也试了很多都无法解决,后来在一个原理讲解贴里发现了解决办法,分享给大家做参考。原因:这是因为没有在对应的Controller类中添加对GET请求的处理方法。虽然笔...原创 2018-03-27 09:45:30 · 196441 阅读 · 8 评论 -
jsp页面中地址插入图片不显示问题以及路径问题解决方法
上图是项目的结构。我想在主页面index.jsp页面获取avatar.png这张图,在页面里使用<img src="/pages/assets/avatars/avatar.png">获取,在Eclipse编辑时,用ctrl加鼠标左键,能点进去获取到图片。然而在浏览器通过http://localhost:8080/webtest/这个地址获取时,并没有显示出图片。 ...原创 2018-03-28 00:40:36 · 10676 阅读 · 0 评论 -
WEB项目的相对路径与绝对路径
1 与路径相关的操作l 超链接l 表单l 转发l 包含l 重定向l <url-pattern>l ServletContext获取资源l Class获取资源l ClassLoader获取资源 【先说结论:1、强烈建议使用“/”开头的路径2、超链接、表单、重定向:以“/”开头的的路径相对于主机根目录【http://localhost:8080/】 转发、包含、<...转载 2018-03-28 00:42:24 · 1343 阅读 · 0 评论 -
mysql数据库字段类型int,mybatis返回long或者int
最近在做项目的时候,发现一个问题,以及解决方法。分享出来供大家参考。在mysql数据库里有个type字段,类型为int,但是项目中mybatis查询结果集里,使用map.get("type")获取,并用Integer强转时,报错,错误说明是long类型不能转为Integer。what?怎么会变成long类型了?后来查了下,貌似mybatis偶尔会抽风,数据库里int类型的字段会时不时的被转成l...原创 2018-08-23 10:06:34 · 17833 阅读 · 0 评论 -
详解 WebAPI 签名机制
首先,写这篇文章的原因是因为最近某一个项目中的接口被人为调用了,导致了数据库数据被串改。虽然是内部人无意点的,但还是引起了我的担忧,所有整理了下关于WebAPI的相关签名机制。一、我们在开发接口时,有时候嫌麻烦就懒进行相关的验证或只进行一些简单的验证,这样客户端就可以直接调用:如调用WebAPI接口:http://XXX.XXX.XX.XXX:8123/Token/GetTest?ID=1...转载 2018-08-30 09:51:24 · 907 阅读 · 0 评论 -
byte为什么要与上0xff?
无意间翻看之间的代码,发现了一段难以理解的代码。 byte[] bs = digest.digest(origin.getBytes(Charset.forName(charsetName))) ; for (int i = 0; i < bs.length; i++) { int c = bs[i] &...转载 2018-08-30 09:55:03 · 1292 阅读 · 0 评论 -
MySQL INSERT插入条件判断:如果不存在则插入
我们经常需要进行sql的批量插入,要求:该条记录不存在则插入,存在则不插入。如果使用一条INSERT语句实现呢?对于普通的 INSERT 插入,如果想要保证不插入重复记录,我们只有对某个字段创建唯一约束实现;那有没有不创建唯一约束,仅通过 INSERT INTO 一条语句实现的方案呢?答:使用 INSERT INTO IF EXISTS, 具体语法如下 INSERT INTO...转载 2018-10-18 10:59:45 · 7782 阅读 · 0 评论 -
Mybatis运行报错:Cause: java.sql.SQLException: Parameter index out of range解决方法
今天在调一个接口的时候,sql和实现方法都写好了,单元测试时报这个错误:Parameter index out of range (5 > number of parameters, which is 4).翻译过来就是sql里需要五个参数,但是只传了四个参数。纳尼?明明传了五个的,为什么少了一个呢?仔细检查了下sql语句,发现问题应该出在了like这个地方:name like ...原创 2018-10-09 10:23:38 · 13080 阅读 · 0 评论 -
java编程之SwingUtilities中invokeLater和invokeAndWait的使用
事件派发线程(event dispath thread),它是用于swing组件的,是界面的主线程。由于Swing是线程不安全的,是单线程设计,程序中对界面的操作都必须放到时间派发线程中执行。当你在main方法中创建一个窗口类的子类像JFrame,就自动创建了一个事件派发线程,如果你在窗口中按下一个按钮或是操作其他控件,就会产生事件,响应该事件的代码就会在事件派发线程中执行。转载 2016-04-18 13:40:07 · 924 阅读 · 0 评论