改变jersey执行拦截器顺序

JAVA代码:
public class APIApplication extends ResourceConfig {

public APIApplication(){
        register(HttpHeaderValidateFilter.class,2); 
      register(RequiredVeriFilter.class,1);  
}

}
web.xml;里jersey配置

<servlet>
    <servlet-name>Jersey Web Application</servlet-name>
    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
    <init-param>
        <!-- <param-name>jersey.config.server.provider.packages</param-name>
        <param-value>com.xxx.xxx.*.service</param-value> -->
        <param-name>javax.ws.rs.Application</param-name>
        <param-value>com.xxx.xxx.common.application.APIApplication</param-value>
    <load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>Jersey Web Application</servlet-name>
    <url-pattern>/service/*</url-pattern>
</servlet-mapping>


过滤器中虽然指定了拦截器的绑定优先级,但是发现没有用,依旧是没有顺序,每次启动后那个先加载那个过滤就在前面,亲测,没次启动服务器拦截器的顺序都有可能不同,不知道到是写法有问题,还是没有配置对,各位大神请指教

1个回答

javax.annotation.Priority注解标记在过滤器或者拦截器类上,该注解就只有一个int类型的value,要求该值为一个正整数,并且该值越大,优先级越高。
Jersey中,提供了一个javax.ws.rs.Priorities类定义了一些基础的优先级值

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问