今天测试密码输入了一串特殊字符后后台出来如下错误:
2010-9-3 11:44:56 org.apache.tomcat.util.http.Parameters processParameters
警告: Parameters: Character decoding failed. Parameter skipped.
java.io.CharConversionException: EOF
at org.apache.tomcat.util.buf.UDecoder.convert(UDecoder.java:82)
或
java.io.CharConversionException: ishexdigit
at org.apache.tomcat.util.buf.UDecoder.convert(UDecoder.java:82)
引起的原因:httpServletRequst对象中的键值对中包含: "%"
解决办法在ajax提交前先进行编码,在java后端在进行解码
ajax编码方法:value = encodeURIComponent(encodeURIComponent(str)).replace(/%20/g, "+");
java解码方法:
/**
* 转换ajax提交的表单编码 URLDecoder
* @param str
* @return
*/
public static String URLDecoder(String str){
if(str == null || str.isEmpty()){
return str;
}
try{
str = URLDecoder.decode(str, "UTF-8");
}catch(Exception e){
log.error("URLDecoder.decode转换前台传过来的汉字编码格式时候发生异常!", e);
}
return str;
}
一个测试输出的转换前和转换后结果:
request psw==========%40!%23%24%25%5E%26*()-%3D
decoder psw==========@!#$%^&*()-=
分享到:
相关推荐
jquery ajax上传组件JS. jquery-upload.min.js和jquery-1.11.0.min.js。 上传小文件图片,文件等非常合适。 详情可参考:http://blog.csdn.net/programmer_sir/article/details/29570935
至于Ajax,`$.ajax()`函数是其核心,支持GET、POST等多种请求方式,同时提供异步处理和数据格式化等功能。 在实际项目中,jQuery 1.8.3能够帮助开发者快速实现页面交互,提高开发效率。例如,通过使用AJAX,可以...
jQuery 1.11.1是在2014年发布的一个稳定版本,它修复了之前版本的一些已知问题,增强了兼容性和性能。此版本在保持与早期版本的向后兼容性的同时,也引入了一些新的特性和改进。 3. **DOM操作** - `$(selector)`...
在Java世界里,`json-lib-2.1.jar` 是一个用于处理JSON的库,它提供了一系列的方法来将Java对象转换为JSON格式,以及将JSON字符串反序列化回Java对象。这个库支持多种Java类型,包括基本类型、集合、Map、自定义Java...
Ajax.BeginForm 提交,需要引用此文件才会执行OnSuccess
5. **Ajax交互**:`.ajax()`, `.get()`, `.post()`等方法让异步数据获取和提交变得轻松,同时支持JSONP和跨域请求,极大地扩展了Web应用的能力。 6. **链式调用**:jQuery的链式调用特性使得代码更紧凑,可读性更强...
该示例使用简单,完成插入指定数量的数据,ajax写入数据库,并显示精准进度,实时返回运行过程。对于大量插入数据库的操作,可以做到无刷,不超时; 目录结构: Css/style.css -------------进度条样式 Js/...
以下是对"ajax-struts2需要的3个包"的详细解释: 1. **json.js**: 这是一个JavaScript库,用于处理JSON(JavaScript Object Notation)数据格式。JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于...
这可能导致在服务器端解析时出现问题,尤其是在处理非英文字符时,由于编码不一致,可能会引发“isHexDigit”异常。 为了解决这个问题,我们可以使用`encodeURI`或`encodeURIComponent`函数代替`escape`。这两个...
在使用Ajax进行POST提交时,中文字符可能会遇到乱码问题,这是因为数据在传输过程中编码与解码不匹配导致的。Ajax以UTF-8编码发送数据,但服务器端可能使用了不同的字符集(如GB2312)来解析,这就产生了乱码。本文...
关于application/x-www-form-urlencoded等字符编码的解释说明 application/x-www-form-urlencoded是HTML表单提交时使用的最常见的编码格式,它将窗体数据编码为名称/值对。这种编码格式是标准的编码格式,广泛应用...
里面包含jsp、servlet、struts、ajax等知识点。下载此资源,请同时下载MLDN+李兴华+Java+Web开发实战经典.pdf--- 001,因为我只能上传60m的文件。
### 网页字符编码问题总结及解决 在日常的网页开发过程中,经常会遇到字符编码导致的乱码问题。本文将结合实践经验,深入探讨不同情况下乱码产生的原因,并提出相应的解决方案。 #### 一、理解字符编码的基础概念 ...
然而,在处理中文字符时,Ajax请求可能会遇到乱码问题,这主要是由于编码格式不一致或者处理不当导致的。本文将深入探讨Ajax中文乱码问题的成因,并提供一系列解决方案。 **一、问题原因** 1. **编码格式不一致**...
解决这个问题的关键在于如何让Ajax请求在发送时明确告知后端其编码方式,并且在正确的时间点进行解码。以下是一些策略: 1. **通过Ajax告诉后端编码**: - 可以在请求头(Header)中添加自定义字段来传递编码信息...
包含的“dynatrace-AJAX-edition-4.2.0.1528.msi”是Windows Installer文件,用于在Windows操作系统上安装Dynatrace AJAX Edition。安装过程通常包括接受许可协议、选择安装路径、配置初始设置等步骤。安装完成后,...
4. **更好的错误处理和调试**:提供了更丰富的错误信息和日志记录,帮助开发者在遇到问题时能够更快定位和解决。 5. **性能优化**:JSF 1.2对渲染树的处理进行了优化,提高了框架的整体性能,尤其是在大型应用中的...
在Asp中使用JQuery的AJAX提交中文乱码解决方法主要是在客户端使用escape()函数编码中文字符,而在服务器端使用VbsEscape()和VbsUnEscape()函数来编码和解码中文字符。通过这种方法,可以避免中文乱码问题,实现正确...
本文将详细探讨AJAX编码问题,并提供几种解决方案。 #### 一、AJAX编码问题概述 AJAX(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器...
这里`serialize()`函数用于将表单数据转换为URL编码的字符串,方便发送到服务器。 ### 二、后端:使用Spring接收并处理数据 1. **添加Spring MVC依赖**:在项目中,确保已经引入了Spring MVC相关的依赖,如`...