java web工程项目使用了Spring+Spring MVC+Hibernate的结构,在Controller中的方法都是用于处理前端的访问信息,Controller通过调用Service进行业务处理后给前端返回ModelAndView对象或者只返回Json格式数据。如果能够获得Http请求在后端程序中处理的相关信息,对于开发和调试时十分方便的。工程中使用了Spring MVC的Interceptor对所有Http请求及其响应进行拦截,从而获取到本次访问接口信息以及程序处理时长等信息,特意在此记录一下实现方式。
1 packagecom.api.web.interceptor;2
3 importjava.util.Arrays;4 importjava.util.Date;5 importjava.util.Map;6 importjava.util.Map.Entry;7
8 importjavax.servlet.http.HttpServletRequest;9 importjavax.servlet.http.HttpServletResponse;10
11 importorg.apache.log4j.Logger;12 importorg.springframework.web.method.HandlerMethod;13 importorg.springframework.web.servlet.HandlerInterceptor;14 importorg.springframework.web.servlet.ModelAndView;15
16 importcom.yijia.api.util.SimpleDateFormatCache;17
18 /**
19 * 记录信息: 访问时间Controller路径对应方法名请求参数信息请求相对路径请求处理时长20 *21 *@authorAdministrator22 *23 */
24