javax servlet过滤器与泽西过滤器

问题描述 投票:1回答:2

我打算编写一个servlet应用程序(用于部署OSGI)并使用一些过滤器进行HTTP头预处理。虽然最初确定了javax.servlet过滤器实现,但我发现我实际上不知道为什么/何时会选择使用它与Jersey ContainerRequestFilter。虽然后者带有一些预先构建的过滤器,但前者可能也是如此(例如Cors过滤器)。因此,在选择使用哪种API时应该考虑什么?是否存在不应该使用另一个人的特定情况?

java servlets jersey
2个回答
0
投票

无论你决定什么,你将使用基于javax.servlet的Filter实现,因为它是你在Java EE中使用的每个Filter的基本接口。

http://docs.oracle.com/javaee/6/api/javax/servlet/Filter.html

现在,Jersey提供了一个实现,增加了一些功能(访问你的ContainerRequestContext或你在Jersey应用程序中需要的任何东西)。您是否已在应用程序中使用Jersey?然后去吧,如果不是我不打扰(至少是先验的,没有进一步的信息),只需要最简单的javax.servlet.Filter实现并直接进入我的web.xml


0
投票

JAX-RS过滤器的问题在于您无法控制执行过滤器链

chain.doFilter(request, response);

因为我现在的问题是将Servlet过滤器转移到JAX-RS过滤器,但是当前的Servlet过滤器调用整个过滤器链以便最终检查响应及其状态。从我的角度来看,使用JAX-RS过滤器是不可能的。

© www.soinside.com 2019 - 2024. All rights reserved.