0

コードに以下の設定のフィルターがあります.値リクエストにすべてをマップしました

@WebFilter(value="/*",  dispatcherTypes={DispatcherType.REQUEST, DispatcherType.FORWARD})
public class MyFilter implements Filter {
    public void init(FilterConfig fConfig) throws ServletException {
        logger.info("Inside init of MyFilter");
    }
}

私の web.xml 構成は次のように宣言されています

<web-app 
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    version="3.0">

Glassfish 3.1.2 にデプロイしたとき、起動時にサーバー ログを確認しましたが、init メソッドでさえ呼び出されません。エラーや例外も呼び出されていません。

誰でもトラブルシューティング方法を知っていますか?

4

1 に答える 1

2

チュートリアルによると

@WebFilter アノテーションを使用して、Web アプリケーションでフィルターを定義します。この注釈はクラスで指定され、宣言されているフィルターに関するメタデータを含みます。注釈付きフィルターは、少なくとも 1 つの URL パターンを指定する必要があります。これは、注釈の urlPatterns または value 属性を使用して行われます。他のすべての属性はオプションであり、デフォルト設定があります。注釈の唯一の属性が URL パターンである場合は、value 属性を使用します。他の属性も使用される場合は、urlPatterns 属性を使用します。

注釈にはより多くの属性があるため、「値」の代わりに「urlPatterns」属性を使用する必要があります

于 2012-12-10T10:06:39.450 に答える