5

Filterプロジェクトに 5 つの Web アプリケーションがあり、HTTP 要求をフィルタリングしたいのですが、アプリケーション固有の動作がないため、Web アプリケーションごとにクラスを記述したくありません。これを行うための最も実用的な方法は何ですか?

Filterと呼ばれる別のクラス ライブラリで1 つだけ作成しようとしましMyClassLibraryたが、機能しません。このライブラリの他のクラスは Web アプリケーションで使用できるので、参照の問題はないと思います。

アプリケーションの 1 つのweb.xmlフィルター部分は次のとおりです。

<filter>
    <filter-name>SampleFilter</filter-name>
    <filter-class>MyClassLibrary.Filters.SampleFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>SampleFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

これにより、例外が発生します。

java.lang.ClassNotFoundException: MyClassLibrary.Filters.SampleFilter

プラットフォーム: Windows、NetBeans、GlassFish

4

2 に答える 2

1

以下をご確認ください

  • クラスがエラーなしでコンパイルされていることを確認してください
  • これらの Web アプリケーションの展開で、ライブラリを含む project/jar への参照があることを確認してください
  • その名前から、SampleFilter は内部クラスのように見えます。その場合は、Filters と SampleFilter が MyClassLibrary の静的内部クラスであり、args コンストラクターがないことを確認してください。
  • MyClassLibrary の前にパッケージ名がありませんか?
于 2013-06-18T15:53:12.020 に答える
0

例外が ClassNotFoundException の場合、アプリケーションのクラスパスにクラス MyClassLibrary が設定されていないことを意味します。

クラス MyClassLibrary がこの web.xml のアプリから参照されていることを確認してください。

よろしく。

于 2013-06-18T15:31:19.530 に答える