リモートサービスは、ISO-8859-15でエンコードされたRequestを使用してJetty Serverを呼び出します。この特別な要求は、Spring Controllerにマップされます。桟橋は、右のようにして、要求をエンコードすることができず、次の例外を示しています
exception=org.eclipse.jetty.util.Utf8Appendable$NotUtf8Exception: Not valid UTF8! byte F6 in state 3}
org.eclipse.jetty.util.Utf8Appendable$NotUtf8Exception: Not valid UTF8! byte F6 in state 3
at org.eclipse.jetty.util.Utf8Appendable.appendByte(Utf8Appendable.java:168) ~[na:na]
at org.eclipse.jetty.util.Utf8Appendable.append(Utf8Appendable.java:93) ~[na:na]
at org.eclipse.jetty.util.UrlEncoded.decodeUtf8To(UrlEncoded.java:506) ~[na:na]
at org.eclipse.jetty.util.UrlEncoded.decodeTo(UrlEncoded.java:554) ~[na:na]
at org.eclipse.jetty.server.Request.extractParameters(Request.java:285) ~[na:na]
at org.eclipse.jetty.server.Request.getParameter(Request.java:695) ~[na:na]
....
ソリューション
春ではあってもCharacterEncodingFilterを通じてリクエストの符号化を強制することが可能ですアプリケーション全体がUTF-8を話します。例外は消滅するはずです。この場合は
<filter>
<filter-name>encoding-filter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>ISO-8859-15</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encoding-filter</filter-name>
<url-pattern>/app/specialRequest.do</url-pattern>
</filter-mapping>
はあなたのために働いていない
- リモートシステムエンコーディングを見つける
- 開始Wiresharkのip.src == xxx.xxx.xxx.xxxフィルタ を通じて入ってくるパッケージを分析します
- 特殊文字(16進値をバイナリに再計算し、頻繁に使用されるいくつかのエンコーディングを試して例外にマッチしたものを正確に探してください)
は、Jettyのstart.iniによってエンコードを設定します。
Dorg.eclipse.jetty.util.UrlEncoding.charset = ISO-8859-15
Dorg.eclipse.jetty.util.URI.charset = ISO-8859-15、次のパラメータを持ちます
他にも質問がある場合は、メッセージを削除してください。
実行していたバージョンはどれですか?もしそれが以前のバージョンの8.0だったら、それらのバージョンの変更を見て、何かがポップアップするかどうかを確認することができます。 – Tim
これは、jetty-7.4.2.v20110526でした。しかし、私はこのエラーがJettyのものであると100%確信していません。私はjetty7版でもう一度(同じケース)テストします。私は途中です... –
うん、Jetty7で、私はIllegalArgumentExceptionを取得します:!utf8 on org.eclipse.jetty.util.Utf8Appendable.appendByte(Utf8Appendable.java:130)。同じように見えるが、他の言葉で。 「外部」から来て、私の移行から独立した新しい問題のようです。私はあなたが何か新しいものに変わるときに、そして同じ瞬間に何か他のものが現れるようになるとき、それらの問題を嫌う。 –