Jetty 如何在PaxWeb和白板模式中使用servlet过滤器

Jetty 如何在PaxWeb和白板模式中使用servlet过滤器,jetty,osgi,servlet-filters,pax-web,Jetty,Osgi,Servlet Filters,Pax Web,在白板上注册过滤器 嗨 我正在尝试将Servlet过滤器与Servlet一起使用。我正在使用PaxWeb3.0、声明式服务和白板。 我必须使用声明性服务组件(一个用于servlet,一个用于过滤器),它似乎工作得很好 查看文档,我看到: 对于URL模式,注册的模式必须已映射, 作为资源或Servlet别名-例如,应该已经有一个 已注册到路径/foo的资源或aServlet。对于Servlet名称, 使用的名称应该是已显式更改的名称 注册时指定给Servlet(作为Servlet名称) 我如何在白

在白板上注册过滤器

我正在尝试将Servlet过滤器与Servlet一起使用。我正在使用PaxWeb3.0、声明式服务和白板。 我必须使用声明性服务组件(一个用于servlet,一个用于过滤器),它似乎工作得很好

查看文档,我看到:

对于URL模式,注册的模式必须已映射, 作为资源或Servlet别名-例如,应该已经有一个 已注册到路径/foo的资源或aServlet。对于Servlet名称, 使用的名称应该是已显式更改的名称 注册时指定给Servlet(作为Servlet名称)

我如何在白板设置中保证这一点?我不知道servlet何时真正注册。我想我可以将servlet列为过滤器的依赖项,但这使得对多个servlet使用过滤器变得很棘手

有更好的办法吗


尊敬的弗兰克,这似乎不太可能是个问题。我希望文档中的这句话表明,当路径没有目标时,永远不会调用过滤器。也就是说,只有当存在有效的目的地(资源或servlet)时才会调用过滤器。白板的一个基本方面是您不应该关心这些问题。白板负责以任何可能的注册顺序处理http服务、过滤器和servlet。如果不是。。。它需要提出一个严肃的问题


我没有看过代码,但我是白板+过滤器+servlet+DS的忠实用户,从来没有看到过问题

这似乎不太可能成为一个问题。我希望文档中的这句话表明,当路径没有目标时,永远不会调用过滤器。也就是说,只有当存在有效的目的地(资源或servlet)时才会调用过滤器。白板的一个基本方面是您不应该关心这些问题。白板负责以任何可能的注册顺序处理http服务、过滤器和servlet。如果不是。。。它需要提出一个严肃的问题


我没有看过代码,但我是白板+过滤器+servlet+DS的忠实用户,从来没有看到过问题

好的,这对我来说已经足够好了。正如我所说,我从来没有看到过问题,但我不确定自己是否幸运,它是否会在未来咬到我。谢谢。彼得,你有白板+过滤器+servlet+DS的工作示例吗?我想我可能错过了一些东西。不,不幸的是现在。如果你做了一个,你可以在路上把它放在OSGi上,让其他人看到。好的,这对我来说已经足够好了。正如我所说,我从来没有看到过问题,但我不确定自己是否幸运,它是否会在未来咬到我。谢谢。彼得,你有白板+过滤器+servlet+DS的工作示例吗?我想我可能错过了一些东西。不,不幸的是现在。如果你做了一个,你可以把它放在OSGi上,让其他人看到。事实上,Pax Web的工作方式是,如果过滤器已经注册并匹配,它也会查找以后注册的servlet。太好了,我建议我们对文档进行一点重新措辞,因此很明显,servlet注册的顺序很重要,但是,如果您使用白板,白板实现将解决这个问题。实际上,存在一个问题。如果我使用白板注册一个过滤器和一个servlet,它似乎不会一直工作。两者都注册为服务,webconsole表示白板正在使用它们,只有浏览器给出404。重新启动白板包后,它工作正常。有什么想法吗?哪个版本?最好是将问题提交给:)我将设计一个或多或少的小案例来探讨这个问题。顺便说一下,PaxWeb3.0.1。谢谢事实上,Pax Web的工作方式是,如果过滤器已经注册并与之匹配,它也会查找以后注册的servlet。很好,我建议我们对文档稍作修改,因此很明显,servlet注册的顺序很重要,但是如果使用白板,白板实现会解决这个问题。实际上,有一个问题。如果我使用白板注册一个过滤器和一个servlet,它似乎不会一直工作。两者都注册为服务,webconsole表示白板正在使用它们,只有浏览器给出404。重新启动白板包后,它工作正常。有什么想法吗?哪个版本?最好是将问题提交给:)我将设计一个或多或少的小案例来探讨这个问题。顺便说一下,PaxWeb3.0.1。谢谢