u010309515
迹思
采纳率0%
2016-03-23 06:41 阅读 2.2k

改变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条回答 默认 最新

  • chicavi chicavi 2018-05-11 04:02

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

    点赞 评论 复制链接分享

相关推荐