问题随记
来源:互联网 发布:好运通超市软件 编辑:程序博客网 时间:2024/05/22 12:11
1、[jQuery] Cannot read property ‘msie’ of undefined错误的解决方法
jQuery1.9之后$.browser这个api正式废除,引入jquery-migrate-1.2.1.js可自动恢复最新版本里废除的api。
2、密码控件升级之后,需要版本比较高的(此处引用了jquery-1.12.3.min.js)
3、weblogic编译jsp文件,有时候会出现回车符
jQuery不同版本冲突问题:
开发过程中,密码控件和thickbox用到了不同版本的jQuery,一个版本很低,一个版本很高(1.2和1.12),解决问题如下:
<script src="Resource/script/jquery-1.12.3.min.js" type="text/javascript"></script>
<script type="text/javascript">var jQuery_New = $.noConflict(true);var $j12 = jQuery_New.noConflict(true);</script>
<script src="Resource/script/jquery-1.2.6.js" type="text/javascript"></script>
重命名jQuery1.12,调用jQuery1.12时$.(..)改为$j12.(..);(jQuery)的调用改为(jQuery_New);
有时候直接访问文件路径无法进行文件下载,可能是网络WAF限制了传输文件的大小
RSA使用公私钥加解密:
在利用数字证书加密时,会出现这样的异常 :Data must not be longer than 117 bytes。
解密时也会出现这样的异常。
进行分段加解密:
// 加密时超过117字节就报错。为此采用分段加密的办法来加密
StringBuilder sb = new StringBuilder();
for (int i = 0; i < data.length; i += 100) {
byte[] doFinal = cipher.doFinal(ArrayUtils.subarray(data, i,
i + 100));
sb.append(new String(doFinal));
dataReturn = ArrayUtils.addAll(dataReturn, doFinal);
}
// 解密时超过128字节就报错。为此采用分段解密的办法来解密
StringBuilder sb = new StringBuilder();
for (int i = 0; i < data.length; i += 128) {
byte[] doFinal = cipher.doFinal(ArrayUtils.subarray(data, i,
i + 128));
sb.append(new String(doFinal));
}
dataReturn = sb.toString();
ajax请求,发送http请求时中文不是utf-8编码:
ajax前台:var trans_user_name = encodeURI($("#trans_user_name").val(), "UTF-8");
java后台:URLDecoder.decode(request.getParameter("trans_user_name"), "UTF-8")
加密以及签名时:内容转成byte时转成utf-8(dealStr.getBytes("UTF-8"));
RSA解密时,报错:Bad arguments
byte[] en_result = new BigInteger(result, 16).toByteArray();
这句有问题,有的时候你会发现数组长度129,第一个元素为0,这肯定是不正确的!
用以下方法生成byte数组:
/**
* 16进制 To byte[]
* @param hexString
* @return byte[]
*/
public static byte[] hexStringToBytes(String hexString) {
if (hexString == null || hexString.equals("")) {
return null;
}
hexString = hexString.toUpperCase();
int length = hexString.length() / 2;
char[] hexChars = hexString.toCharArray();
byte[] d = new byte[length];
for (int i = 0; i < length; i++) {
int pos = i * 2;
d[i] = (byte) (charToByte(hexChars[pos]) << 4 | charToByte(hexChars[pos + 1]));
}
return d;
}
/**
* Convert char to byte
* @param c char
* @return byte
*/
private static byte charToByte(char c) {
return (byte) "0123456789ABCDEF".indexOf(c);
}
ajax前台接收的中文乱码:
后台:
response.setContentType("text/html;charset=utf-8"); //当然如果是json数据,需要设置为("text/JavaScript;charset=utf-8");
response.setcharEncoding("utf-8");
前台:
$.ajax({
contentType: "application/x-www-form-urlencoded; charset=utf-8",
});
jQuery1.9之后$.browser这个api正式废除,引入jquery-migrate-1.2.1.js可自动恢复最新版本里废除的api。
2、密码控件升级之后,需要版本比较高的(此处引用了jquery-1.12.3.min.js)
3、weblogic编译jsp文件,有时候会出现回车符
jQuery不同版本冲突问题:
开发过程中,密码控件和thickbox用到了不同版本的jQuery,一个版本很低,一个版本很高(1.2和1.12),解决问题如下:
<script src="Resource/script/jquery-1.12.3.min.js" type="text/javascript"></script>
<script type="text/javascript">var jQuery_New = $.noConflict(true);var $j12 = jQuery_New.noConflict(true);</script>
<script src="Resource/script/jquery-1.2.6.js" type="text/javascript"></script>
重命名jQuery1.12,调用jQuery1.12时$.(..)改为$j12.(..);(jQuery)的调用改为(jQuery_New);
有时候直接访问文件路径无法进行文件下载,可能是网络WAF限制了传输文件的大小
RSA使用公私钥加解密:
在利用数字证书加密时,会出现这样的异常 :Data must not be longer than 117 bytes。
解密时也会出现这样的异常。
进行分段加解密:
// 加密时超过117字节就报错。为此采用分段加密的办法来加密
StringBuilder sb = new StringBuilder();
for (int i = 0; i < data.length; i += 100) {
byte[] doFinal = cipher.doFinal(ArrayUtils.subarray(data, i,
i + 100));
sb.append(new String(doFinal));
dataReturn = ArrayUtils.addAll(dataReturn, doFinal);
}
// 解密时超过128字节就报错。为此采用分段解密的办法来解密
StringBuilder sb = new StringBuilder();
for (int i = 0; i < data.length; i += 128) {
byte[] doFinal = cipher.doFinal(ArrayUtils.subarray(data, i,
i + 128));
sb.append(new String(doFinal));
}
dataReturn = sb.toString();
ajax请求,发送http请求时中文不是utf-8编码:
ajax前台:var trans_user_name = encodeURI($("#trans_user_name").val(), "UTF-8");
java后台:URLDecoder.decode(request.getParameter("trans_user_name"), "UTF-8")
加密以及签名时:内容转成byte时转成utf-8(dealStr.getBytes("UTF-8"));
RSA解密时,报错:Bad arguments
byte[] en_result = new BigInteger(result, 16).toByteArray();
这句有问题,有的时候你会发现数组长度129,第一个元素为0,这肯定是不正确的!
用以下方法生成byte数组:
/**
* 16进制 To byte[]
* @param hexString
* @return byte[]
*/
public static byte[] hexStringToBytes(String hexString) {
if (hexString == null || hexString.equals("")) {
return null;
}
hexString = hexString.toUpperCase();
int length = hexString.length() / 2;
char[] hexChars = hexString.toCharArray();
byte[] d = new byte[length];
for (int i = 0; i < length; i++) {
int pos = i * 2;
d[i] = (byte) (charToByte(hexChars[pos]) << 4 | charToByte(hexChars[pos + 1]));
}
return d;
}
/**
* Convert char to byte
* @param c char
* @return byte
*/
private static byte charToByte(char c) {
return (byte) "0123456789ABCDEF".indexOf(c);
}
ajax前台接收的中文乱码:
后台:
response.setContentType("text/html;charset=utf-8"); //当然如果是json数据,需要设置为("text/JavaScript;charset=utf-8");
response.setcharEncoding("utf-8");
前台:
$.ajax({
contentType: "application/x-www-form-urlencoded; charset=utf-8",
});
阅读全文
0 0
- 问题随记
- 随记unicode解码问题
- SimpleDateFormat问题随记
- Git/GitHub问题随记
- electron问题随记
- C语言问题随记
- python问题随记
- android 开发 小问题 随记
- html 问题随记+素材积累
- 随记
- 随记
- 随记
- 随记
- 随记
- 随记
- 随记
- 随记
- 随记
- gym/101149/ Of Zorcs and Axes set<pair<int, int > > it->second; it = s.lower_bound( make_pair(u[
- 3.5动态添加菜单项
- 关于浏览器右键禁用事件,浏览器采用自己的右键事件。
- 【排序算法】九种排序算法的总结
- 数组中a和&a 的区别?
- 问题随记
- JAVA--------集合(一)
- sourceTree添加git密钥步骤
- Java——多线程
- ArrayList详解,源码解读
- 约数的个数
- windows server 2012 r2分区时创建为D盘时没有D盘符选择的解决方法
- UVA
- express初体验