检查对服务器

时间:2017-05-18 08:36:45

标签: java maven http tomcat

我有一个基于Java的服务器应用程序,使用maven进行依赖关系管理,使用tomcat服务器来托管它。我有一堆物联网设备一直在发送不同类型的有效载荷。请注意,有效负载的大小从1 MB到80 MB不等。所以,我想跟踪每个设备的数据使用情况。

我可以编写过滤器或拦截器来检查所有API请求的有效负载,而不是在每个API上编写有效负载大小检查吗?此外,如果有效负载高于80 MB,我想拒绝有效负载。

如果有任何意义,请告诉我。

1 个答案:

答案 0 :(得分:0)

您可以使用过滤器执行此操作,如下所示:

public class PayLoadCheckFilter implements Filter {

    @Override
    public void init(FilterConfig filterConfig) throws ServletException {

    }

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException {
        if (request.getContentLength() > 80e+07) {
            ((HttpServletResponse) response).setStatus(503);
        }
        else {
            filterChain.doFilter(request, response);
        }
    }

    @Override
    public void destroy() {

    }

有关如何将过滤器添加到web.xml的信息,请参阅here