1,定义拦截器

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;@Component
public class AuthorityInterceptor extends HandlerInterceptorAdapter {private static final Logger logger = LoggerFactory.getLogger(AuthorityInterceptor.class);@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {logger.info("进入到拦截器中:preHandle() 方法");HandlerMethod handlerMethod=(HandlerMethod)handler;AccessIntercept loginVerify=handlerMethod.getMethodAnnotation(AccessIntercept.class);if (loginVerify!=null){System.out.println(loginVerify.IsIntercept());logger.info("不需要对 @loginVerify注解方法 进行拦截");return false;}else {logger.info("对非@loginVerify注解方法 进行拦截处理");System.out.println(request.getServletPath());System.out.println(request.getParameter("id"));return true;}}@Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {logger.info("进入到拦截器中:postHandle() 方法中");System.out.println(request.getRequestURI());}@Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {logger.info("进入到拦截器中:afterCompletion() 方法中");System.out.println(request.getServletPath());}
}

2,配置拦截器

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;@Configuration
public class InterceptorAdapterConfig extends WebMvcConfigurerAdapter {@Autowired
//    private RequestLimitIntercept authorityInterceptor;private AuthorityInterceptor authorityInterceptor;@Overridepublic void addInterceptors(InterceptorRegistry registry){//注册自己的拦截器并设置拦截的请求路径registry.addInterceptor(authorityInterceptor).addPathPatterns("/**");super.addInterceptors(registry);}
}

3,自定义注解

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface AccessIntercept {boolean IsIntercept() default true;
}

4,使用自定义注解

在controller中的方法上面使用@AccessIntercept注解。

Java拦截器实现拦截controller方法相关推荐

  1. html页面设置拦截器,SpringBoot拦截器Filter的使用方法详解

    SpringBoot拦截器Filter的使用方法详解 发布时间:2020-08-27 22:44:03 来源:脚本之家 阅读:107 作者:玉天恒 前言: 最新Servlet 3.0拦截器的使用 1. ...

  2. SpringBoot2整合Mybatis拦截器,拦截mapper接口的某个方法

    需求: 在执行某个动态sql时,where 子句,希望通过用户进行自定义查询条件,比如用户可以传入 "id > 100011 and name = '张三'" 的多条件表达式 ...

  3. java 登录拦截器_springMVC 拦截器-用户登录拦截实战

    各位小伙伴 咱们继续学习新知识 今天要分享的就是 拦截器 不知道小伙伴们平时上网的时候有没有注意到,尤其是上网购物的时候,不登录账号,就无法访问一些功能页面,比如你不登录账号,就没法查看购物车里面有什 ...

  4. spring拦截器使用及拦截器中获取Controller实例

    1,首先是配置,在spring-mvc的配置文件中加上 <!-- 拦截器 --> <mvc:interceptors><bean class="cn.hydom ...

  5. Spring boot自定义拦截器和拦截器重定向配置简单介绍~!

    大家好: 本文简单介绍一下用于权限控制的Spring boot拦截器配置,拦截器重定向问题. 开发工具:jdk1.8   idea2017(付费版,网上找的破解教程) 1,首先使用idea创建一个Sp ...

  6. Struts2 拦截器: 拦截器与过滤器区别

    1.首先要明确什么是拦截器.什么是过滤器 1.1 什么是拦截器: 拦截器,在AOP(Aspect-Oriented Programming)中用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加 ...

  7. springmvc拦截器无法拦截jsp

    为什么80%的码农都做不了架构师?>>>    问题:spring mvc的拦截器只拦截controller不拦截jsp文件,如果不拦截jsp文件也会给系统带安全性问题. 解决方案: ...

  8. axios 请求拦截器响应拦截器

    一. 拦截器介绍 一般在使用axios时,会用到拦截器的功能,一般分为两种:请求拦截器.响应拦截器. 请求拦截器 在请求发送前进行必要操作处理,例如添加统一cookie.请求体加验证.设置请求头等,相 ...

  9. axios拦截器 config_axios拦截器的实现

    拦截器设计与实现 #需求分析 我们希望能对请求的发送和响应做拦截,也就是在发送请求之前和接收到响应之后做一些额外逻辑. 我们希望设计的拦截器的使用方式如下: // 添加一个请求拦截器 axios.in ...

  10. axios 最全 请求拦截器 响应拦截器 配置公共请求头 超时时间 以及get delete post put 四种请求传参方式

    axios 拦截器 请求拦截器 请求拦截器的作用是在请求发送前进行一些操作 例如在每个请求体里加上token,统一做了处理如果以后要改也非常容易 响应拦截器 响应拦截器的作用是在接收到响应后进行一些操 ...

最新文章

  1. Redis 集群方案
  2. 【Android】附加Android源代码Androidandroid_gingerbread_javasrc
  3. hadoop(5)——mrjob的使用(1)——直接在本地测试
  4. md5加密解密代码_Python内置方法实现基于秘钥的信息加解密
  5. 文章用图的修改和排版
  6. flutter 刷脸_GitHub - hqwlkj/wechat_face_payment: 微信刷脸支付、刷脸认证、扫码支持等 Flutter 插件....
  7. 光纤光信号闪红灯_电信光纤光猫光信号闪红灯怎么处理
  8. 常见的使用ICMP协议的命令
  9. 巧用DBGrid控件的Sort属性实现“点击标题栏自动排序功能”。(改进版本)
  10. 【转】Java多线程面试问题集锦
  11. 问题处理:VMware Workstation和Device / Credential Guard不兼容
  12. SEGGER System View - J-Link Library not found
  13. 情迁机器人手机版1.6.9升级说明包含多个重要更新
  14. 中国传统文化课程笔记
  15. 浅析企业上下级沟通的障碍及对策
  16. ArcGIS模型构建器案例学习-批量删除空要素类地理模型
  17. 山东工商学院计算机2军训,山东工商学院举行2018级新生开学典礼暨军训动员大会...
  18. 图像滤镜艺术---水彩画滤镜
  19. Photoshop(4)做海报的心得
  20. 51单片机8255扩展c语言,51单片机8255A扩展IO口

热门文章

  1. Nuxt3 服务端渲染 、elementplus多皮肤黑暗模式
  2. 简单游戏代码_简单游戏
  3. python将文本(txt)转excel(xls)
  4. 最全的微信小程序代码大全
  5. Java前端和后端的区别
  6. php随机生成微信昵称(一),可配合头像一起生成虚拟头像
  7. 小米手机用什么蓝牙耳机好?高颜值游戏专属蓝牙耳机推荐
  8. 通俗易懂web3.0
  9. LINUX-VIM编辑器常用命令大全(超全)
  10. 直播源 列表 转换 php,Telelist直播源制作与格式转换工具 V2.4.1下载 制作XSPF、DPL、M3U等播放列表格式...