package com.whut.pan.config; import com.whut.pan.dao.model.User; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; import java.lang.reflect.Method; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * 拦截配置 * * @author Sandeepin */ public class WebInterceptor implements HandlerInterceptor { private Logger logger = LoggerFactory.getLogger(this.getClass()); @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { boolean flag = true; if (handler instanceof HandlerMethod) { String ip = request.getRemoteAddr(); long startTime = System.currentTimeMillis(); request.setAttribute("requestStartTime", startTime); HandlerMethod handlerMethod = (HandlerMethod) handler; Method method = handlerMethod.getMethod(); logger.warn("用户ip:" + ip + ",访问目标:" + method.getDeclaringClass().getName() + ":" + method.getName()); User user = (User) request.getSession().getAttribute("user"); if (null == user) { logger.warn("未登录"); response.sendRedirect("toLogin"); flag = false; } else { logger.warn("登录的账号:{}", user.getUserName()); flag = true; } } return flag; } @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) { if (handler instanceof HandlerMethod) { HandlerMethod handlerMethod = (HandlerMethod) handler; Method method = handlerMethod.getMethod(); long startTime = (Long) request.getAttribute("requestStartTime"); long endTime = System.currentTimeMillis(); long executeTime = endTime - startTime; // 打印方法执行时间 if (executeTime > 1000) { logger.warn( "[" + method.getDeclaringClass().getName() + "." + method.getName() + "] 执行耗时 : " + executeTime + "ms"); } else { logger.warn("[" + method.getDeclaringClass().getSimpleName() + "." + method.getName() + "] 执行耗时 : " + executeTime + "ms"); } } } @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) { } }
最近下载更多
francochan LV6
5月4日
kkkllll LV2
1月26日
shuangfu LV25
2023年10月19日
molu123456
2023年10月10日
暂无贡献等级
thsgli LV8
2023年3月14日
MAOMAO999999 LV4
2023年3月4日
xxn1234567 LV1
2023年2月1日
cxz2132132 LV11
2022年11月18日
qlpqlp LV7
2022年11月14日
huyuxin LV3
2022年11月9日
最近浏览更多
Boss绝 LV9
11月12日
charleswang LV7
10月21日
grant1123 LV2
6月22日
TY0165 LV20
6月21日
17380184110
6月19日
暂无贡献等级
来一杯西瓜冰咩 LV6
5月13日
xiaozhi丶 LV15
3月24日
暂无贡献等级
wyyz5211314 LV4
1月30日
kkkllll LV2
1月26日