• ベストアンサー

サーブレット・JSPの勉強をしているのですがわからなくなったので質問お願いします。

サーブレット・JSPの勉強をしているのですがわからなくなったので質問お願いします。 フィルタを使って文字化け回避をしようとしているのですが、JSP→サーブレット→JSP経由だと大丈夫なのですが、jsp→jspだと文字化けしています。 何故だかわかる方がいましたら解答よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

フィルタってのは、javaで記述したクラスふぁいるのことですよね? web.xmlにJSPファイルの記述はしてありますか?クラスファイルのEncodingFilterはweb.xmlに記述してあるサーブレットやJSPに対して機能する(はずな)ので、その記述が無いとダメです。下に自分のweb.xmlの記述の例を示します。 <filter> <filter-name>Encoding</filter-name> <filter-class>mysv.EncodingFilter</filter-class> </filter> <filter-mapping> <filter-name>Encoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!--エンコーディングフィルターの対象JSPファイルここから--> <servlet> <servlet-name>sample</servlet-name> <servlet-class>sample.jsp</servlet-class> </servlet> <servlet-mapping> <servlet-name>sample</servlet-name> <url-pattern>/sample</url-pattern> </servlet-mapping> <servlet> <servlet-name>sample2</servlet-name> <servlet-class>sample2.jsp</servlet-class> </servlet> <servlet-mapping> <servlet-name>sample2</servlet-name> <url-pattern>/sample2</url-pattern> </servlet-mapping> それから、HTMLのメタタグ ↓ <meta http-equiv="Content-Type" content="text/html; charset=shift-jis"> だけではなく、JSPのディレクティブでもキャラセットの設定が必要です(と思います・・)。 ↓ <%@ page contentType="text/html;charset=shift-jis" %> 一応これで自分はできましたので。これでお試しください。

関連するQ&A