- ベストアンサー
サーブレット・JSPの勉強をしているのですがわからなくなったので質問お願いします。
サーブレット・JSPの勉強をしているのですがわからなくなったので質問お願いします。 フィルタを使って文字化け回避をしようとしているのですが、JSP→サーブレット→JSP経由だと大丈夫なのですが、jsp→jspだと文字化けしています。 何故だかわかる方がいましたら解答よろしくお願いします。
- みんなの回答 (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" %> 一応これで自分はできましたので。これでお試しください。