来自不同包的Java访问筛选器
我随后为Jersey 1.x构建了一个过滤器。如果filter类(即MyAppFilter)与endpoints类位于同一个包中,它就可以正常工作 我的问题是,如何使这个过滤器在多个包中可用。例如,我使用包A和包B创建了两个OSGI包,而不是为每个包创建过滤器。我想在一个包/包中创建一个过滤器,并在另一个包中使用它 包A:我创建了过滤器类MyAppFilter.java 包B:我创建web.xml来使用过滤器来自不同包的Java访问筛选器,java,jersey,Java,Jersey,我随后为Jersey 1.x构建了一个过滤器。如果filter类(即MyAppFilter)与endpoints类位于同一个包中,它就可以正常工作 我的问题是,如何使这个过滤器在多个包中可用。例如,我使用包A和包B创建了两个OSGI包,而不是为每个包创建过滤器。我想在一个包/包中创建一个过滤器,并在另一个包中使用它 包A:我创建了过滤器类MyAppFilter.java 包B:我创建web.xml来使用过滤器 <servlet> <servlet-name>J
<servlet>
<servlet-name>Jersey REST Service</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.spi.container.ContainerRequestFilters</param-name>
<param-value>packageA.MyAppFilter</param-value>
</init-param>
</servlet>
泽西岛休息服务
com.sun.jersey.spi.container.servlet.ServletContainer
com.sun.jersey.spi.container.ContainerRequestFilters
packageA.MyAppFilter
我尝试过这个场景,但它对我不起作用
感谢您的帮助您的Jersey 1.x过滤器无法与Jersey 2.x配合使用。servlet类的
ServletContainer
是2.x。Jersey 2.x还有一个containerRexxFilter
。但方案不同。其次,您正在使用的init参数也适用于1.x,它对2没有影响。x@peeskillet很抱歉1.x和2.x之间的混合。这是我的打字错误。我编辑这个问题是为了更好地解释我的情况。你是在问如何使它与不同的项目(战争)一起工作吗。我不太明白关于不同包装的全部问题。为什么我们需要为过滤器使用不同的软件包?也许您需要更好地解释“使此过滤器在各种包中工作”。不太清楚那是什么means@peeskillet感谢您的建议,它们是OSGI捆绑包。为什么不创建一个可重用组件库并将其包含在每个捆绑包中呢。