前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >spring mvc拦截器,实现统计http请求的后台运行时间

spring mvc拦截器,实现统计http请求的后台运行时间

作者头像
兜兜毛毛
发布2019-10-23 15:53:27
9690
发布2019-10-23 15:53:27
举报
文章被收录于专栏:兜兜毛毛兜兜毛毛

使用两种方式,实现拦截http请求的后台运行时间。

废话不多说直接上代码

代码语言:javascript
复制
/**
 * Http请求时间统计
 * 拦截所有请求
 */
public class HttpRquestTimeInterceptor extends HandlerInterceptorAdapter {

    ThreadLocal<Long> localThread = new ThreadLocal<Long>();

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {

        //线程方式
        localThread.set(System.currentTimeMillis());
        //request方式
        request.setAttribute("_startTime", System.currentTimeMillis());

        return true;
    }

    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {

        Long endTime = System.currentTimeMillis();


        System.out.println(request.getServletPath() + " >> http请求结束线程:" + (endTime - localThread.get()));



        Long startTime = (Long)request.getAttribute("_startTime");

        System.out.println(request.getServletPath() + " >> http请求结束:" + (endTime - startTime));

    }
}

Spring 配置

代码语言:javascript
复制
<mvc:interceptors>
		<!-- Http请求统计 -->
		<mvc:interceptor>
			<mvc:mapping path="/**" />
			<bean class="HttpRquestTimeInterceptor" ></bean>
		</mvc:interceptor>
	</mvc:interceptors>

如果你有新的办法,请赐教

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档