У меня есть форма, где у меня есть текстовое поле и кнопка отправки. Я использую инструмент burp, чтобы изменить значение, представленное в форме, для проверки моей проверки на стороне сервера.UTF-8 | выпуск со специальным символом на форме submit | java.io.CharConversionException
Проверка на стороне сервера работает нормально, если только нет знака %
, введенного из инструмента burp, при вводе %
символов на сервере отображается следующее исключение.
2012-12-11 11:37:07,860 WARN [org.apache.tomcat.util.http.Parameters] (ajp-0.0.0.0-8109-19) Parameters: Character decoding failed. Parameter skipped.
java.io.CharConversionException: EOF
at org.apache.tomcat.util.buf.UDecoder.convert(UDecoder.java:83)
at org.apache.tomcat.util.buf.UDecoder.convert(UDecoder.java:49)
at org.apache.tomcat.util.http.Parameters.urlDecode(Parameters.java:429)
at org.apache.tomcat.util.http.Parameters.processParameters(Parameters.java:412)
at org.apache.tomcat.util.http.Parameters.processParameters(Parameters.java:363)
at org.apache.catalina.connector.Request.parseParameters(Request.java:2562)
at org.apache.catalina.connector.Request.getParameter(Request.java:1060)
at org.apache.catalina.connector.RequestFacade.getParameter(RequestFacade.java:355)
at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:118)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:436)
at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:384)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:662)
, когда я отправить форму с символом%, она меняет его% 25 правильно, но как я справиться с этим на стороне сервера?
с помощью winshark, чтобы получить данные чтения клиента представить. – andy