package com.mandi.springmvc.logs; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.context.ApplicationContext; import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; import com.mandi.common.Jacksonmethod; import com.mandi.common.SessionMethod; import com.mandi.common.SpringContext; import com.mandi.system.service.IMOpLogServie; import com.mandi.system.service.impl.MOpLogServie; import com.mandi.system.persist.Login; import com.mandi.system.persist.ModuleEnum; public class LogsInterceptor extends HandlerInterceptorAdapter { @Override public boolean preHandle(HttpServletRequest r, HttpServletResponse re, Object handler) throws Exception { if(handler.getClass().isAssignableFrom(HandlerMethod.class)){ OpLogs oplog= ((HandlerMethod)handler).getMethodAnnotation(OpLogs.class); if(oplog==null){ return true; } ApplicationContext ac= SpringContext.getAppContext(); if(ac==null){ return true; } IMOpLogServie imlser=ac.getBean(MOpLogServie.class); Login l=SessionMethod.getlogin(r.getSession()); if(l==null){ l=new Login(); l.setUsername("未登录"); l.setWorkername(r.getRemoteAddr()); l.setDepartname("不知道"); } String name=oplog.name(); ModuleEnum module=oplog.module(); String note=""; try{ note=Jacksonmethod.tojson(r.getParameterMap(), false); imlser.insert(l, module, name, note); }catch(Exception e){ e.printStackTrace(); } } return true; } }