- PR -

struts1.1とTomcat 4.1.24を使っての質問です。

1
投稿者投稿内容
ヒロポン
会議室デビュー日: 2004/03/02
投稿数: 6
投稿日時: 2004-04-15 14:44

Tomcatとstruts1.1を使用してテスト用コードを作っています。
実際にコーディングして実行してみました!すると、全角文字が
文字化けしてしまいました。

そこで、SetCharacterEncodingFilterクラス(もともとTomcatをダウンロードしたときに
あったソースです)をweb.xmlに追加記述してみました。
すると、文字化けは直り正常に動くようになりましたが、追加した内容が

<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>Shift_JIS</param-value>
</init-param>
<init-param>
<param-name>ignore</param-name>
<param-value>false</param-value>
</init-param>

</filter>

<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

↑のように追加しましたが、これでTomcatを再起動したときに致命的エラーが発生して
Tomcatが正常に立ち上がらなくなってしまいました。

自分でその原因を調べて、一つわかったことが
web.xmlの記述の一番上に記述してある、

<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">

の部分です。この部分の「DTD Web Application 2.2」というところを「DTD Web Application 2.3」に変更、
そして、「http://java.sun.com/j2ee/dtds/web-app_2_2.dtd」の
部分を「http://java.sun.com/dtd/web-app_2_3.dtd」に変更しました。

すると、今度は正常に起動するようになり、テスト用コードを実行したときに
文字化けの問題も解決はしたのですが、なぜに上記の部分を変更したら正常に
動くようになったのか、はっきりとした原因がわからないでいます。

どなたか、お分かりになる人がいればご教授頂きたいです。
宜しくお願いします。
uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2004-04-15 18:06
サーブレットフィルタはServlet2.3からの機能です。従って2.2ベースのWeb.xmlには
サーブレットフィルタの記述はできません。
1

スキルアップ/キャリアアップ(JOB@IT)