2015-10-16 45 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,它看起來像你會比我更清楚:)。 –