Filter中注入Service的问题

1、创建一个工具类

@Component
public class ApplicationContextUtil extends ApplicationObjectSupport {

    private static ApplicationContext instance;

    public static ApplicationContext getContext() {
        return instance;
    }

    @PostConstruct
    private void init() {
        instance = getApplicationContext();
    }
}

2、Filter类

public class TokenFilter implements Filter {
    private String excludedPage;
    private String[] excludedPages;

    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
        excludedPage = filterConfig.getInitParameter("ignores");
        if (excludedPage != null && excludedPage.length() > 0){
            excludedPages = excludedPage.split(",");
        }
    }



    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain) throws IOException, ServletException {
        HttpServletRequest request = (HttpServletRequest) servletRequest;
        HttpServletResponse response = (HttpServletResponse) servletResponse;
        String token = request.getParameter("token");
        //获取service类
        ApplicationContext context = ApplicationContextUtil.getContext();
        UserService userService = context.getBean(UserService.class);

    }

    @Override
    public void destroy() {

    }
}

3、在Filter中将数据返回到客户端

ServletOutputStream out = response.getOutputStream();
 out.println("0");

项目:template-副本

猜你喜欢

转载自blog.csdn.net/hei_guolanfang/article/details/79868856
今日推荐