我的代码中有一个过滤器,其中包含以下设置..我在值请求中映射了所有内容
@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方法。也没有调用任何错误或异常。
任何人都知道如何进行问题排查?
答案 0 :(得分:1)
根据tutorial
使用@WebFilter批注在Web应用程序中定义过滤器。 此批注在类上指定并包含有关的元数据 声明的过滤器。带注释的过滤器必须至少指定 一个URL模式。这是通过使用urlPatterns或值来完成的 注释的属性。所有其他属性都是可选的 默认设置。 当唯一属性打开时使用value属性 注释是URL模式;使用urlPatterns属性时 其他属性也被使用。
由于您的注释具有更多属性,您应该使用“urlPatterns”属性而不是“value”