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
2024年5月4日
kkkllll LV2
2024年1月26日
shuangfu LV25
2023年10月19日
molu123456
2023年10月10日
暂无贡献等级
thsgli LV9
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日

yimaoermao LV1
2024年11月28日
Boss绝 LV9
2024年11月12日
charleswang LV7
2024年10月21日
grant1123 LV2
2024年6月22日
TY0165 LV20
2024年6月21日
17380184110
2024年6月19日
暂无贡献等级
来一杯西瓜冰咩 LV6
2024年5月13日
xiaozhi丶 LV15
2024年3月24日
微信网友_6854901408452608
2024年2月6日
暂无贡献等级
wyyz5211314 LV4
2024年1月30日