`

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

    在本文中,我们将深入探讨如何将RabbitMQ与SpringBoot集成,以实现高效的消息队列系统。RabbitMQ是一款开源的消息代理和队列服务器,它使用AMQP(Advanced Message Queuing Protocol)协议,广泛应用于分布式系统中...

    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编程环境中,"java.security.InvalidKeyException: illegal Key Size" 是一个常见的错误,通常发生在加密或解密操作中。这个错误表示你试图使用的密钥长度超过了Java默认的安全限制。在给定的上下文中,这个...

    mysql 异常com.mysql.jdbc.CommunicationsException

    本次异常的具体描述为:“Communications link failure due to underlying exception: **BEGINNESTED EXCEPTION** java.io.EOFException STACK TRACE: java.io.EOFException at com.mysql.jdbc.MysqlIO.readFully...

    PdfUtils.java

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

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

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

    java异常处理

    ### Java异常处理详解 #### 一、异常的基本概念 异常是指程序在运行过程中遇到的一些非预期情况,这些情况可能是由于程序设计不合理、输入数据错误或者是系统资源问题导致的。Java中的异常处理机制是为了让程序...

    JAVA常见异常解析,面试用

    - **java.io.EOFException**:在输入流到达文件结尾时,尝试读取更多数据时抛出。 - **java.io.FileNotFoundException**:打开或创建指定的文件失败时抛出。 - **java.lang.NumberFormatException**:尝试将字符串...

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

    在Java编程中,图片处理是一项常见的任务,而`ImageIO`类是Java标准库提供用于读取、写入和操作图像的重要工具。本篇将详细探讨`ImageIO.read()`方法的相关知识点,以及如何解决可能遇到的问题。 `ImageIO`类位于`...

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

    在提供的资源"flowablestudy"中,可能包含了实现以上功能的Java源代码示例,这将帮助读者深入理解Flowable的工作原理和使用方法。通过阅读和实践这些源码,可以更有效地掌握Flowable的流程部署和启动操作,同时也...

    java.io.EOFException(解决方案).md

    常见的问题

    java异常解决方案.docx

    * java.io.EOFException: Tomcat 启动时报错 + 解决方案:检查 Tomcat 的配置文件是否正确,是否存在语法错误或格式不正确的问题。 * Tomcat 内存溢出 + 解决方案:检查 Tomcat 的 JVM 参数设置,是否存在内存溢出...

    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的异常类

    - **`java.io.EOFException`**:文件已结束异常。 - **`java.io.FileNotFoundException`**:文件未找到异常。 - **`java.lang.NumberFormatException`**:字符串转换为数字异常。 - **`java.sql.SQLException`**...

    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....

    计算机等级二级考试中delphi函数参考大全.pdf

    62. `eof`和`eoln`函数:分别用于检测文件是否到达末尾和文本文件的行结束状态。 63. `erase`命令:删除指定的外部文件。 64. `exceptaddr`函数:返回引发当前异常的地址。 65. `exclude`函数:从集合中移除指定...

    Java常见异常

    9. **IOException while loading persisted sessions: java.io.EOFException** 在加载持久化会话时遇到输入/输出异常,可能是文件损坏或读取过程中断。尝试重新初始化持久化存储或检查磁盘空间。 10. **java.io....

    java 出现Zipexception 异常的解决办法

    Java中的`ZipException`异常通常是由于尝试访问或处理ZIP文件时遇到问题而引发的。当程序尝试打开一个ZIP文件,但文件格式不正确、文件损坏、文件不存在或者没有足够的权限来访问时,就会抛出`java.util.zip....

    Pascal函数大全[参考].pdf

    56. `encodedate` 和 `encodetime` 函数:将日期和时间对象编码为特定格式的字符串。 57. `endmargin` 属性:设置文本或控件的结束边缘距离。 58. `eof` 和 `eoln` 函数:检测文件是否到达末尾或文本行结束。 59....

Global site tag (gtag.js) - Google Analytics