10153


現在[こちらのサイト](http://www.atmarkit.co.jp/ait/articles/0807/31/news129_4.html)を参考に実装を行っているのですが、  
「重大: フィルタ EncodeFilter の起動中の例外です （java.lang.ClassNotFoundException: filters.
SetCharacterEncodingFilter）」というエラーが出力されてしまいます。

おそらくSetCharacterEncodingFilter.javaというファイルをfiltersフォルダに入れているのですが、それが今回のエラーの原因だと予想しています。

filterの設定は

[code]

    <filter-name>EncodeFilter</filter-name>
        <filter-class>filters.SetCharacterEncodingFilter
        </filter-class>
        <init-param>
          <param-name>encoding</param-name>
          <param-value>Shift_JIS</param-value>
        </init-param>
      </filter>
      <filter-mapping>
        <filter-name>EncodeFilter</filter-name>
        <url-pattern>/*</url-pattern>
      </filter-mapping>
    
[/code]

です。

参考にしているサイト通りに実装しているはずなので、原因が掴めません。  
解決方法の分かる方がいましたら、ご教授をお願いします。

またhttp://サーバのIPアドレス:8080/によるtomcatの起動確認を出来ております。


CC BY-SA 3.0
2015-05-14T01:16:06.310
10141
2015-05-14T03:45:38.060
2015-05-14T03:24:35.097
7626
7626
question
java
eclipse上でTomcat起動時に、「重大: フィルタ EncodeFilter の起動中の例外です 」というエラーが出力される


回答ではありませんが、原因を調査していきましょうか。

まずエラーですが「java.lang.ClassNotFoundException: filters.
SetCharacterEncodingFilter」です。  
Javaがjavaファイルをコンパイルしてclassファイルを作成するのはご存知ですね？  
今、エラーとしてはjavaファイルではなくclassファイルを見つけられず、filters.
SetCharacterEncodingFilterクラスを使えない状態です。

filtersフォルダ（つまりパッケージ）にSetCharacterEncodingFilter.javaが入っていることは確認されたということですが、classファイルはどうでしょうか。  
上記のサイトのとおりに設定されたならHello/WEB-INF/classesフォルダ以下にclassファイル群があります（図13より）。  
Hello/WEB-
INF/classesフォルダにfiltersフォルダがあり、SetCharacterEncodingFilter.classファイルがありますでしょうか？

もしなければEclipseにてコンパイルし、classファイルを作成する必要があります（メニューのプロジェクト -> クリーンなどで）。  
もしあれば、あとは/TOMCAT_HOME/conf/server.xmlでの`<Context path="/hello"
docBase="Helloプロジェクトの位置" />`が本当に今作業しているHelloプロジェクトの位置かどうかだけだと思われます。


CC BY-SA 3.0
2015-05-14T03:45:38.060
10153
2015-05-14T03:45:38.060
4464
10141
answer