过滤器的应用:
过滤器的作用不明而喻,在安全方面用的比较广泛,限制安全访问,提示用户进行身份验证和/或将他们指引到第三方进行身份验证。过滤器甚至能够管理访问 控制列表(Access Control List,ACL),以便除了身份验证之外还提供授权机制。
jersey的过滤器的应用:
第一步:继承ContainerRequestFilter接口
- package com.lgy.filter;
-
- import java.io.IOException;
-
- import javax.servlet.http.HttpServletRequest;
- import javax.ws.rs.container.ContainerRequestContext;
- import javax.ws.rs.container.ContainerRequestFilter;
- import javax.ws.rs.core.Context;
- import javax.ws.rs.core.Response;
-
- import com.lgy.bean.Result;
- import com.lgy.utils.JsonUtils;
-
- public class RequestFilter implements ContainerRequestFilter {
- @Context
- HttpServletRequest request;
-
- @Override
- public void filter(ContainerRequestContext requestContext) throws IOException {
- Result<String> result = new Result<>();
-
- System.out.println("aaaaaaa test");
-
- System.err.println(requestContext);
-
-
- //.....
- result.success("aaaaaaaa");
- requestContext.abortWith(Response.status(Response.Status.OK).entity(JsonUtils.modelToJson(result)).build());
- }
-
- }
第二步:在MyApplication中进行注册:
- register(RequestFilter.class);