Jersey2.0 中ContainerRequestFilter的使用 无法拦截 求助!!!!!

发布于 2021-11-28 22:10:00 字数 3041 浏览 807 评论 3

定义TokenFilter

package com.xxx.cloud.filter;


import java.io.IOException;
import java.util.Map;

import javax.ws.rs.container.ContainerRequestContext;
import javax.ws.rs.container.ContainerRequestFilter;
import javax.ws.rs.container.PreMatching;
import javax.ws.rs.core.Cookie;
import javax.ws.rs.ext.Provider;

import com.xx.cloud.util.TokenHolderUtil;
 
@Provider
@PreMatching
public class TokenFilter implements ContainerRequestFilter{

    @SuppressWarnings("static-access")
    public void filter(ContainerRequestContext containerRequestContext) throws IOException {
         Map<String,Cookie> cookieMap = containerRequestContext.getCookies();
         String tokenString = cookieMap.get("_token").getValue();
         TokenHolderUtil tokenHolderUtil = new TokenHolderUtil();
         tokenHolderUtil.setToken(tokenString);
     }

}

web.xml


<!--用于定义 RESTful Web Service 接口-->
    <servlet>
       <display-name>JerseyServlet</display-name>
       <servlet-name>JerseyServlet</servlet-name>
       <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
       <init-param>  
          <param-name>javax.ws.rs.container.ContainerRequestFilter</param-name>  
<!--           如果想加入多个拦截器,请用;隔开   -->
          <param-value>com.xxx.cloud.filter.TokenFilter</param-value>  
       </init-param>  
       <init-param>
          <param-name>jersey.config.server.provider.packages</param-name>
          <param-value>com.xxx.cloud.controller</param-value>
       </init-param>
       <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
      <servlet-name>JerseyServlet</servlet-name>
      <url-pattern>/api/*</url-pattern>
    </servlet-mapping>



如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

等风来 2021-12-05 08:50:27

什么ResourceConfig的实现类

把昨日还给我 2021-12-04 22:50:26

ResourceConfig的实现类中注册了吗?

悟红尘 2021-12-04 19:58:07

这问题解决了吗 我也遇到了。。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文