カスタムフィルタ処理モード
カスタムクラス
パブリック クラス CharactorFilter 実装は {フィルター// 継承されたFilterクラス // 文字エンコーディング 文字列のエンコーディング= ヌル; 公共 ボイドのdoFilter(ServletRequestの要求、ServletResponseをレスポンス、 フィルターチェーンカテナのalberghiera)がスローにIOException、ServletExceptionが{ IF(!エンコーディング= ヌル){ // 設定要求を文字エンコーディング Request.setCharacterEncoding(符号化); //は、エンコード応答文字セット response.setContentType( "テキスト/ HTMLを;のcharset =" + エンコーディング); } //次のフィルタに渡さ chain.doFilter(リクエスト、レスポンス); } 公共 ボイドのinit(に、FilterConfigに、FilterConfig)がスローServletExceptionが{ // 取得し、初期化パラメータ エンコーディング= filterConfig.getInitParameter( "エンコーディング"を); } 公共 ボイド破壊(){ / / TODO自動生成されたメソッドスタブ エンコーディング= NULL ; } }
web.xmlで構成されました
< フィルター> <! - サーブレットに設定されていない、これはフィルタであることに注意してください- > < フィルタ名> CharactorFilter </ フィルタ名> <! - フィルタ名- > < フィルタクラス> cn.com。 Filter.CharactorFilter </ フィルタクラス> <! - 完全なクラス名フィルタ- > < INIT-PARAM > <! - 初期化パラメータ- > < PARAM名>エンコード</ PARAM名> <! - パラメータ名- > < PARAM値>UTF-8</ Paramの値> <! - パラメータ- > </ INIT-PARAM > </ フィルタ> < フィルタマッピング> <! - フィルタマッピング- > < フィルタ名> CharactorFilter </ フィルター-名前> <! - 名前フィルタ> - < のurl-pattern > / * </ のurl-pattern > - <!すべての文字化けのページを処理するために、地図のURLを- > </ のfilter-mapping >
SpringMVCの取り扱いを使用します
web.xml構成で
< フィルター> <! - サーブレットに設定されていない、これはフィルタであることに注意してください- > < フィルタ名> CharactorFilter </ フィルタ名> <! - フィルタ名- > < フィルタクラス> org.springframework。 web.CharacterEncodingFilter </ フィルタクラス> < INIT-PARAM > <! - 初期化パラメータ- > < PARAM名>エンコード</ PARAM名> <! - パラメータ名- > < PARAM値> UTF -8 </ PARAM値> <! - パラメータ- > </ INIT-PARAM > < INIT-PARAM > <! - 初期化パラメータ- > < PARAM名> forceEncoding </ PARAM名> <! - パラメータ名- > < PARAM値> trueに</ PARAM値> <! - パラメータ- > </ INIT-PARAM > </ フィルタ> < のfilter-mapping > <! - フィルタマッピング- > < フィルター-名前>CharactorFilter</ フィルター名> <! - フィルタ名- > < のurl-pattern > / * </ のurl-pattern > <! - マップのURL、すべての文字化けのページを処理する- > </ のfilter-mapping >
springMVCプロファイルに追加します。
対象に導入された<豆>タグ。