2015-10-16 46 views
0

我正在尝试编写筛选器来过滤对我的Web服务的调用。我正在使用WAS 8.5 java ee 6 compilant应用程序服务器。Jax ws rs filter

我在网上搜索,发现有两个接口ContainerRequestFilterContainerResponseFilter。我试图实现这些接口,发现这些接口不是javaee 6 jax ws rs规范的一部分。

任何人都可以告诉我如何过滤java ee 6环境中的请求和响应。

我们使用jersey作为jax ws rs实现。我不想使用任何球衣特定的课程,因为我们希望将代码迁移到JBoss,在那里我们将使用安静的方式作为实施。

+1

组件的名称是JAX-RS而不是“jax ws rs”:) –

回答

1

具体的Java EE 6的方式是通过实施了javax.servlet.Filter接口,然后用javax.servlet.annotation.WebFilter注释来注释类。

你可以在这里看到的文档:

https://docs.oracle.com/javaee/6/tutorial/doc/bnagb.html

下面是相关的代码片段:

import javax.servlet.Filter; 
import javax.servlet.annotation.WebFilter; 
import javax.servlet.annotation.WebInitParam; 

@WebFilter(filterName = "TimeOfDayFilter", 
urlPatterns = {"/*"}, 
initParams = { 
    @WebInitParam(name = "mood", value = "awake")}) 
public class TimeOfDayFilter implements Filter { 
    .... 

不过,我看不出有任何理由实施ContainerRequestFilter或ContainerResponseFilter并对其进行注册在你的web.xml中也不行。

+0

EE 6世界中的唯一选项 –

+0

@peeskillet,它看起来像你会比我更清楚:)。 –