Skip to content

Latest commit

 

History

History
51 lines (39 loc) · 1.77 KB

请求参数与耗时.md

File metadata and controls

51 lines (39 loc) · 1.77 KB
@Slf4j
public class RequestCostInterceptor implements HandlerInterceptor {

    private static final String START_TIME = "startTime";

    @Override
    public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o)
            throws Exception {

        long startTime = System.currentTimeMillis();
        httpServletRequest.setAttribute(START_TIME, startTime);
        System.err.println(httpServletRequest.getRequestURL());
        log.info("startTime:{}", startTime);
        log.info("getRequestURL:{}", httpServletRequest.getRequestURL());
        log.info("getQueryString:{}", httpServletRequest.getQueryString());
        log.info("getRequestURI:{}", httpServletRequest.getRequestURI());
        log.info("getContextPath:{}", httpServletRequest.getContextPath());
        log.info("getServletPath:{}", httpServletRequest.getServletPath());

        return true;
    }

    @Override
    public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o,
            ModelAndView modelAndView) throws Exception {

        long startTime = (Long) httpServletRequest.getAttribute(START_TIME);
        long endTime = System.currentTimeMillis();
        long executeTime = endTime - startTime;
        log.info("executeTime:{}", executeTime);
    }

    @Override
    public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse,
            Object o, Exception e) throws Exception {

    }

}

@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter {

    @Override
    public void addInterceptors(final InterceptorRegistry registry) {

        registry.addInterceptor(new RequestCostInterceptor()).addPathPatterns("/**");
    }
}