【问题标题】:Filter only applied if in the same package仅在同一包中时应用过滤器
【发布时间】:2018-02-15 13:33:25
【问题描述】:

对于一个 Java EE 应用程序,我创建了一个自定义的 javax.ws.rs.container.ContainerRequestFilter,正如 Abhishek 所记录的那样。它基本上运行良好。但是,当我将注释和过滤器(例如从com.foo.resources)移动到同一级别的另一个包(例如com.foo.filters)时,不再应用过滤器。 为什么不呢?

如果将过滤器和注释移动到子包(例如从com.foo.resources.filters),它确实有效。

【问题讨论】:

    标签: validation jax-rs java-ee-7


    【解决方案1】:

    听起来您正在对应用程序配置使用一些包扫描,并且您已将 com.foo.resources 列为要扫描的包。使用此包和所有子包递归地为您的所有@Path@Provider 类,然后注册它们。如果你想使用多个包,那么你应该能够列出它们,用逗号分隔。我建议改为只使用公共父包com.foo,因为它会递归扫描包。

    【讨论】:

    • 谢谢,在 web.xml 中为 REST-Servlet 的 init-param jersey.config.server.provider.packages 配置。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-24
    • 2021-11-21
    相关资源
    最近更新 更多