2

私はこのコード行を持っています:

response.setCharacterEncoding("UTF-8");

このエラーが発生します:

メソッドsetCharacterEncoding(String)は、タイプHttpServletResponseに対して未定義です。

Eclipseは、私がしたくないものにキャストするresponseことを提案しています。request誰かが私がこれを修正するのを手伝ってくれますか?

4

3 に答える 3

3

javadocを参照してください。このメソッドはサーブレット2.4以降に存在します。サーバーがこのバージョン(またはそれ以降)のサーブレット仕様をサポートしていて、ビルドパスのjarが古すぎるか、サポートされていないため、このメソッドを使用しないでください。

後者の場合は、javadocを読んで、何を置き換える必要があるかを確認してください。

于 2012-05-22T21:56:12.843 に答える
3

別の方法は、コンテンツタイプを設定することです。

response.setContentType("text/html;charset=UTF-8");

あなたは方法に関するドキュメントを読むことができますsetContentType

プロトコルがそのための方法を提供する場合、コンテナは、サーブレット応答のライターに使用されるコンテンツタイプと文字エンコードをクライアントに伝達する必要があります。HTTPの場合、 Content-Typeヘッダーが使用されます。

于 2012-05-22T21:56:38.827 に答える
2

このメソッドは、の親クラスでsetCharacterEncoding(String charset)定義されています。Eclipseがタイプに対して未定義であると文句を言う場合は、インポートステートメントが正しくない可能性があります。すべてのインポートステートメントを削除してから、Ctrl+Oを押してみてください。HttpServletResponseServletResponse

于 2012-05-22T21:54:48.360 に答える