`

ajax提交编码转换问题 java.io.charConVersionException:EOF

    博客分类:
  • java
阅读更多

今天测试密码输入了一串特殊字符后后台出来如下错误:

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)

 

引起的原因: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==========@!#$%^&*()-=

1
1
分享到:
评论
1 楼 wangyajin333 2015-07-20  
太棒了。谢谢分享。

相关推荐

    RabbitMq+springboot

    demo中介绍了rabbitmq的三种模式,分别为Direct,topic,Fanout并且集成了消息确认机制,消息重发机制集以及集群, 需要用到的同学可以下载看看,少走弯路。

    jetty-io-9.4.43.v20210629-API文档-中英对照版.zip

    赠送jar包:jetty-io-9.4.43.v20210629.jar; 赠送原API文档:jetty-io-9.4.43.v20210629-javadoc.jar; 赠送源代码:jetty-io-9.4.43.v20210629-sources.jar; 赠送Maven依赖信息文件:jetty-io-9.4.43.v20210629....

    java.security.InvalidKeyException:illegal Key Size

    java.security.InvalidKeyException:illegal Key Size 微信开发过程中,JDK6的版本

    PdfUtils.java

    解决Could not load font file: C:\Windows\FONTS\mstmc.ttf 对应问题贴https://blog.csdn.net/guozhangjie1992/article/details/103679640

    Java图片处理ImageIO.read()问题

    NULL 博文链接:https://o-oand0-0.iteye.com/blog/1585854

    mysql 异常com.mysql.jdbc.CommunicationsException

    com.mysql.jdbc.CommunicationsException Communications link failure due to underlying exception:

    Flowable-BPMN操作流程部署启动源码

    Flowable-BPMN操作流程部署启动源码,具体理解和操作参考我的专栏https://blog.csdn.net/houyj1986/column/info/31755,第10节

    java异常处理

    java异常处理

    EurekaLog_7.5.0.0_Enterprise

    EurekaLog 7.5 (18-August-2016) 1)..Important: Installation layout was changed. All packages now have version suffix (e.g. EurekaLogCore240.bpl). No files are copied to \bin folder of IDE....

    java上的即时通信

    import java.io.EOFException; import java.net.ServerSocket; import java.net.Socket; import java.awt.BorderLayout; import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event....

    javascript typeof id===’string’?document.getElementById(id):id解释 原创

    一般来说想要理解这段代码,需要掌握如下两个函数 一个是 typeof 一个就是三元运算符 看完了上面的文章再看下面的就比较好理解了 一般来说常用的函数代码 function $(id){ return typeof id==='string'?...

    AndroidApk混淆编译时,报告java.io.IOException...错误解决办法

    主要介绍了 AndroidApk混淆编译时,报告Error:Execution failed for task ‘:gviews:transformClassesAndResourcesWithProguardForRelease’.错误解决办法的相关资料,需要的朋友可以参考下

    Springboot上传图片

    org.springframework.web.multipart.MultipartException: Failed to parse multipart servlet request; nested exception is java.io.IOException: org.apache.tomcat.util.... java.io.EOFException

    socket编程

    java.io.EOFException at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2552) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1297) at java.io....

    JAVA程序员.doc

    Java异常机制.pdf Java异常机制.pdf Java异常机制.pdf

    Python File readlines() 使用方法

    readlines() 方法用于读取所有行(直到结束符 EOF)并返回列表,该列表可以由 Python 的 for… in … 结构进行处理。 如果碰到结束符 EOF 则返回空字符串。 语法 readlines() 方法语法如下: fileObject.readlines( );...

    hessdroid_android

    已经解决了第一次连接报:com.caucho.hessian.client.HessianConnectionException: 500: java.io.EOFException

    Nginx + Websocket 实现推送

    Nginx + Websocket 实现推送 , 实现思路 : http://blog.csdn.net/shangmingtao/article/details/76639821 . 代码可以直接线上运行.

    电子商务交易平台信用体系建设研究整理.pdf

    电子商务交易平台信用体系建设研究整理.pdf

    java 异常总结

    其他还有很多异常,我就不一一列举了,我要说明的是,一个合格的程序员,需要对程序中常见的问题有相当的了解和相应的解决办法,否则仅仅停留在写程序而不会改程序的话,会极大影响到自己的开发的。关于异常的全部...

Global site tag (gtag.js) - Google Analytics