我将应用程序迁移到新的JavaEE6标准。创建新过滤器时,注释非常易于使用。我只需要为我的POJO类添加一个@WebFilter注释,它运行良好。JavaEE6在不重新编译的情况下启用/禁用web过滤器
让我困惑的是:所有带注释的过滤器都会被容器自动加载。有时候这是不希望的。我可能会创建一组过滤器,不同的webapp会选择仅使用这些过滤器的子集。所以我有这样的问题:是否有一种简单的方法来启用/禁用基于不同部署的过滤器,同时仍然允许我为每个过滤器类使用简单的WebFilter注释?
我发现这篇文章在此之上进行搜索时: Dynamically registering WebFilter with Java EE 6
但这篇文章似乎在暗示不使用每个过滤器类注释,并通过ServletContextListener来直接引用的每个过滤器类加载它们。它似乎不是一个最佳解决方案。
谢谢
谢谢你的回复。自从发布后,我使用了类似的方法作为您的回复,但是从配置文件中为每个过滤器设置了单独的标志,其注入方式与本博客中讨论的方法类似: http://www.adam-bien.com/roller/abien/entry/how_to_configure_java_ee – Alan
我意外地低估了你的答案......并且没有办法对它投票,因为我的投票被锁定了......直到问题被更新:(。对不起。 – obe6
@ obe6:你可以当编辑帖子时撤消投票我刚刚编辑它 – BalusC