HttpServletRequestWrapperを使って、日本語の文字化け対策を行う




アプリケーションサーバーや、そのバージョンによっても、日本語のリクエスト対策は異なります。
サーバーの設定によって回避できる場合もありますが、汎用的な対策を行うには、HttpServletRequestWrapperを使って対策することです。
(この方法でも、サーバーによっては対策が効かない場合もあります)

HttpServletRequestWrapperを使って、文字化け対策するサンプル

サンプルの解説

HttpServletRequest#setCharacterEncoding(String)で、ブラウザから送信される文字コードを指定します。
あとは、ふつうにHttpServletRequest#getParameter(String)で値を取得すれば、日本語でも文字化けすることなく値を取得できます。
※HttpServletRequestは、あらかじめラッパークラス(HttpServletRequestWrapper)が用意されています。
これを使うことで、簡単にHttpServletRequestをカスタマイズすることができます。