相关疑难解决方法(0)

如何多次读取request.getInputStream()

我有这个代码:

@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
        throws IOException, ServletException {
    logger.info("Filter start...");

    HttpServletRequest httpRequest = (HttpServletRequest) request;
    HttpServletResponse httpResponse = (HttpServletResponse) response;

    String ba = getBaId(getBody(httpRequest));

    if (ba == null) {
        logger.error("Wrong XML");
        httpResponse.setStatus(HttpServletResponse.SC_BAD_REQUEST);
    } else {      

        if (!clients.containsKey(ba)) {
            clients.put(ba, 1);
            logger.info("Client map : init...");
        } else {
            clients.put(ba, clients.get(ba).intValue() + 1);
            logger.info("Threads for " + ba + " = " + clients.get(ba).toString());
        }

        chain.doFilter(request, response);
    }
}
Run Code Online (Sandbox Code Playgroud)

和这个web.xml(包缩短和名称更改,但它看起来相同)

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app>
  <filter>
    <filter-name>TestFilter</filter-name> …
Run Code Online (Sandbox Code Playgroud)

java servlets java-ee servlet-filters

36
推荐指数
4
解决办法
5万
查看次数

如何在Spring Boot中到达控制器之前修改请求主体

我有一个Spring Boot应用程序。我更改每个发布请求的请求正文。是否可以在请求到达控制器之前修改请求主体。请列举一个例子。

java spring spring-boot

9
推荐指数
4
解决办法
8577
查看次数

标签 统计

java ×2

java-ee ×1

servlet-filters ×1

servlets ×1

spring ×1

spring-boot ×1