我是一名開發人員,當Cookie包含元音變音字符(ä,ö,ü)時,我面臨以下例外情況,我嘗試了許多解決方案和配置,但沒有任何結果。當Cookie包含元音變音字符時,Tomcat 7異常
我用Tomcat7
任何解決方案,請
Feb 21, 2013 6:29:16 AM org.apache.coyote.http11.AbstractHttp11Processor process
SEVERE: Error processing request
java.lang.IllegalArgumentException: Control character in cookie value or attribute.
at org.apache.tomcat.util.http.CookieSupport.isHttpSeparator(CookieSupport.java:193)
at org.apache.tomcat.util.http.Cookies.getTokenEndPosition(Cookies.java:488)
at org.apache.tomcat.util.http.Cookies.processCookieHeader(Cookies.java:291)
at org.apache.tomcat.util.http.Cookies.processCookies(Cookies.java:168)
at org.apache.tomcat.util.http.Cookies.getCookieCount(Cookies.java:106)
at org.apache.catalina.connector.CoyoteAdapter.parseSessionCookiesId(CoyoteAdapter.java:919)
at org.apache.catalina.connector.CoyoteAdapter.postParseRequest(CoyoteAdapter.java:688)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:402)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1600)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
見http://stackoverflow.com/questions/6108207/definite-guide-to-valid-cookie-values:http://tomcat.apache.org/tomcat-8.0-doc/config/cookie-processor.html
通過在你的conf/context.xml中啓用它和http://stackoverflow.com/questions/1969232/allowed-characters-in-cookies。一種解決方案是用UTF-8編碼你的字符串,並使用base64來獲得可接受的ascii字符。 – 2013-05-08 21:59:04