1、拦截器统一管理
@Configurationpublic class AppConfig extends WebMvcConfigurerAdapter { @Resource private FRInterceptor fRInterceptor; @Override public void addInterceptors(InterceptorRegistry registry) { //自定义拦截器,添加拦截路径和排除拦截路径 registry.addInterceptor(fRInterceptor).addPathPatterns("api/**").excludePathPatterns("api/login"); ; }}
2、自定义拦截器
@Componentpublic class FRInterceptor implements HandlerInterceptor { /* * 视图渲染之后的操作 */ @Override public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3) throws Exception { } /* * 处理请求完成后视图渲染之前的处理操作 */ @Override public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3) throws Exception { } /* * 进入controller层之前拦截请求 */ @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object obj) throws Exception { System.out.println("getContextPath:" + request.getContextPath()); System.out.println("getServletPath:" + request.getServletPath()); System.out.println("getRequestURI:" + request.getRequestURI()); System.out.println("getRequestURL:" + request.getRequestURL()); System.out.println("getRealPath:" + request.getSession().getServletContext().getRealPath("image")); return true; }}