这个异常通过简单的'getParameter()'调用来加密我们的生产catalina日志.
WARNING: Parameters: Character decoding failed. Parameter skipped. java.io.CharConversionException: EOF at org.apache.tomcat.util.buf.UDecoder.convert(UDecoder.java:82) at org.apache.tomcat.util.buf.UDecoder.convert(UDecoder.java:48) at org.apache.tomcat.util.http.Parameters.urlDecode(Parameters.java:411) at org.apache.tomcat.util.http.Parameters.processParameters(Parameters.java:393) at org.apache.tomcat.util.http.Parameters.processParameters(Parameters.java:509) at org.apache.tomcat.util.http.Parameters.handleQueryParameters(Parameters.java:266) at org.apache.catalina.connector.Request.parseParameters(Request.java:2361) at org.apache.catalina.connector.Request.getParameter(Request.java:1005) at org.apache.catalina.connector.RequestFacade.getParameter(RequestFacade.java:353) at javax.servlet.ServletRequestWrapper.getParameter(ServletRequestWrapper.java:158)
或者有时:
java.io.CharConversionException: isHexDigit at org.apache.tomcat.util.buf.UDecoder.convert(UDecoder.java:87) at org.apache.tomcat.util.buf.UDecoder.convert(UDecoder.java:48) at org.apache.tomcat.util.http.Parameters.urlDecode(Parameters.java:411) at org.apache.tomcat.util.http.Parameters.processParameters(Parameters.java:393) at org.apache.tomcat.util.http.Parameters.processParameters(Parameters.java:509) at org.apache.tomcat.util.http.Parameters.handleQueryParameters(Parameters.java:266) at org.apache.catalina.connector.Request.parseParameters(Request.java:2361) at org.apache.catalina.connector.Request.getParameter(Request.java:1005) at org.apache.catalina.connector.RequestFacade.getParameter(RequestFacade.java:353) at javax.servlet.ServletRequestWrapper.getParameter(ServletRequestWrapper.java:158)
Alexander.. 5
只是在这里假设.看起来像参数的URL解码或它们的值失败(URL编码意味着使用%XX或%XXXX表示法编码某些字符,其中XX或XXXX是ISO-8859-1或Unicode中字符的十六进制代码).在第一种情况下,可能会发生错误,因为%字符后面没有足够的十六进制字符.在第二种情况下,这可能会发生,因为%字符后面的字符不是十六进制.
只是在这里假设.看起来像参数的URL解码或它们的值失败(URL编码意味着使用%XX或%XXXX表示法编码某些字符,其中XX或XXXX是ISO-8859-1或Unicode中字符的十六进制代码).在第一种情况下,可能会发生错误,因为%字符后面没有足够的十六进制字符.在第二种情况下,这可能会发生,因为%字符后面的字符不是十六进制.