@WebFilter未在我的Glassfish中处理

时间:2012-12-10 07:18:48

标签: java servlets glassfish-3 servlet-filters

我的代码中有一个过滤器,其中包含以下设置..我在值请求中映射了所有内容

@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方法。也没有调用任何错误或异常。

任何人都知道如何进行问题排查?

1 个答案:

答案 0 :(得分:1)

根据tutorial

  

使用@WebFilter批注在Web应用程序中定义过滤器。   此批注在类上指定并包含有关的元数据   声明的过滤器。带注释的过滤器必须至少指定   一个URL模式。这是通过使用urlPatterns或值来完成的   注释的属性。所有其他属性都是可选的   默认设置。 当唯一属性打开时使用value属性   注释是URL模式;使用urlPatterns属性时   其他属性也被使用。

由于您的注释具有更多属性,您应该使用“urlPatterns”属性而不是“value”