Java는 BYTE 2의 무효화 문제를 해결합니다. UTF-8 예외 2 바이트 시퀀스
최근에, 나는 2 바이트를 제외하고 바이트 2 유효하지 않은 UTF-8 시퀀스의 문제를 만났다. 온라인으로 정보를 검색했습니다. 다음은 솔루션의 기록입니다. 같은 문제가 발생하면 확인할 수 있습니다.
자세한 예외 :
2015 년 12 월 8 일 오후 7:16:55 PM org.apache.catalina.core.core.core.core.standardWrapperValve는 다음 [/test] 컨텍스트에서 Servlet.service () servlet [jsp]에 대한 servlet [jsp] trow exception [org.apache.jasper.jasperexception : xml org.apache.tomcat. causecom.sun.org.apache.xerces.internal.impl.io.MAFFORMEDBYTESEQUENCEEXCEPTION : 2 바이트 UTF-8 바이트 2는 유효하지 않습니다. com.sun.org.apache.xerces.internal.impl.io.utf8reader.invalidbyte (utf8reader.java:687) at com.sun.org.apache.xerces.internal.impl.io.utf8reader.read (utf8reader.java:372) at com.sun.org.apache.xerces.internal.impl.xmlentityscanner.load (xmlentityscanner.java:1753) at com.sun.org.apache.xerces.internal.impl.xmlentityscanner.peekchar (xmlentityscanner.java:497) at com.sun.org.apache.xerces.internal.impl.xmldocumentfragmentscannerimpl $ fragmentContentDriver.next (xmldocumentfragmentscannerimpl.java:2710) at com.sun.org.apache.xerces.internal.impl.xmldocumentsCannerImpl.next (xmlDocumentsCannerImpl.java:606) at com.sun.org.apache.xerces.internal.impl.xmlnsdocumentsCannerMpl.next (xmlnsdocumentscanimpl.1117) com.sun.org.apache.xerces.internal.impl.xmldocumentfragmentscannerimpl.scandocument (xmldocumentfragmentscannerimpl.java:510) at com.sun.org.apache.xerces.internal.parsers.xml11configuration.parse (xml11configation.java) com.sun.org.apache.xerces.internal.parsers.xml11configuration.parse (xml11configuration.java:777) at com.sun.org.apache.xerces.internal.parsers.xmlparser.parse (xmlparser.java:141) at com.sun.org.apache.xerces.internal.parsers.domparser.parse (domparser.java:243) at com.sun.org.apache.xerces.internal.jaxp.documentbuilderimpl.parse (documentbuilderimpl.java:347) at org.apache.jasper.xmlparser.parserutils.parsexmldocument (parserutils.java:96) at org.apache.jasper.compiler.jspconfig.processwebdotxml (jspconfig.java:83) at org.apache.jasper.compiler.jspconfig.init (jspconfig.java:231) at org.apache.jasper.compiler.jspconfig.findjspproperty (jspconfig.java:290) at org.apache.jasper.compiler.generalejava (commilerja.java). org.apache.jasper.compiler.compiler.compiler.compiler.compiler (compiler.java:365) at org.apache.jasper.compiler.compiler.compiler (compiler.java:345) at org.apache.jasper.compiler.compiler (compiler.java) at org.apache.jasper.jspcompilationcontext.compile (org.apache.jasper.servlet.jspservletwrapper.service (jspservletwrapper.java:342) at org.apache.jasper.servlet.jspservlet.servicejspfile (jspservlet.java:391) at org.apache.jasper.servlet.jspservlet.service (jspservlet.java:334) at javax.servlet.http.httpservlet.service (httpservlet.java:722) at org.apache.catalina.core.applicationfilterchain.internaldofilter (ApplicationFilterchain.java:306) org.apache.catalina.core.applicationfilterchain.dofilter (applicationfilterchain.java:210) at com.alibaba.druid.support.http.webstatfilter.dofilter (webstatfilter.java:123) at org.apache.catalina.core.applicationfilterchain.internaldofilter (applicationfilterchain.java:244) at org.apache.catalina.core.applicationfilterchain.dofilter (applicationfilterchain.java:210) org.apache.struts2.dispatcher.ng.filter.strutsexecutefilter.dofilter (org.apache.catalina.core.applicationfilterchain.internaldofilter (ApplicationFilterchain.java:244) at org.apache.catalina.core.applicationfilterchain.dofilter (applicationfilterchain.java:210) at org.apache.struts2.dispatcher.ng.filter.strutspreparefilter.dofilter (strutspreparefilter.java:91) at org.apache.catalina.core.applicationfilterchain.internaldofilter (applicationfilterchain.java:244) at org.apache.catalina.core.applicationfilterchain.dofilter (applicationfilterchain.java:210) com.huaqin.dmt.filter.acl.dofilter (acl.java:251) at org.springframework.web.filter.delegatingfilterproxy.invokedelegate (delegatingfilterproxy.java:346) org.springframework.web.filter.delegatingfilterproxy.dofilter (delegatingfilterproxy.java:259) at org.apache.catalina.core.applicationfilterchain.internaldofilter (applicationfilterchain.java:244) at org.apache.catalina.core.applicationfilterchain.dofilter (applicationfilterchain.java:210) at com.huaqin.dmt.filter.characterencodingfilter.dofilter (attactionencodingfilter.java:38) at org.apache.catalina.core.applicationfilterchain.internaldofilter (applicationfilterchain.java:244) at org.apache.catalina.core.applicationfilterchain.dofilter (applicationfilterchain.java:210) org.apache.catalina.core.standardwrappervalve.invoke (org.apache.catalina.core.standardContextValve.invoke (StandardContextValve.java:161) at org.apache.catalina.core.standardhostvalve.invoke (org.apache.catalina.valves.errorreportvalve.invoke (ErrorReportValve.java:100) at org.apache.catalina.valves.accesslogvalve.invoke (ac org.apache.catalina.connector.coyoteadapter.service (coyoteadapter.java:380) at org.apache.coyote.http11.http11processor.process (http11processor.java:243) org.apache.coyote.http11.http11protocol $ http11connectionhandler.process (http11protocol.java:188) at org.apache.coyote.http11.http11protocol $ http11connectionhandhandler.process (http11666) org.apache.tomcat.util.net.jioendpoint $ socketprocessor.run (java.util.concurrent.threadpooleexecutor.runworker (ThreadPoolexecutor.java:1145) at java.util.concurrent.threadpoolexecutor $ worker.run (java.lang.thread.run (Thread.java:744)
해결책:
Tomcat의 빈 디렉토리에 Catalina.bat 파일이 있습니다.
이 줄 찾기 : set java_opts =%java_opts%%logging_config%
그 선을 추가하십시오 : java_opts = -server -dfile.encoding = utf-8을 설정하십시오
읽어 주셔서 감사합니다. 도움이되기를 바랍니다. 이 사이트를 지원 해주셔서 감사합니다!