1.声明式

(1)注解,使用Aspect的@Aspect

(2)实现HandlerInterceptor

  1. /**
  2. * 拦截请求
  3. *
  4. * @author Administrator
  5. *
  6. */
  7. @Component
  8. public class RequestHandlerInterceptor implements HandlerInterceptor {
  9. @Resource
  10. private RedisUtil redisUtil;
  11.  
  12. @Override
  13. public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
  14. throws Exception {
  15. String address = request.getParameter("address");
  16. if (redisUtil.get(address) != null && StringUtils.isNotBlank(String.valueOf(address))) {
  17. response.setCharacterEncoding("gbk");
  18. ResultObject ro = ResultObject.fail().add("result", "水肥机器正在执行中,该命令不能同步执行");
  19. PrintWriter pw = response.getWriter();
  20. pw.write(JSONObject.toJSONString(ro));
  21. return false;
  22. } else {
  23. System.out.println("下发地址---------------" + address);
  24. }
  25.  
  26. return HandlerInterceptor.super.preHandle(request, response, handler);
  27. }
  28.  
  29. @Override
  30. public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
  31. ModelAndView modelAndView) throws Exception {
  32. // TODO Auto-generated method stub
  33. HandlerInterceptor.super.postHandle(request, response, handler, modelAndView);
  34. }
  35.  
  36. @Override
  37. public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
  38. throws Exception {
  39. // TODO Auto-generated method stub
  40. HandlerInterceptor.super.afterCompletion(request, response, handler, ex);
  41. }
  42.  
  43. }

添加拦截器,实现WebMvcConfigurer

  1. /**
  2. * @author Administrator
  3. *
  4. */
  5. @Configuration
  6. public class RequestConfigurerAdapter implements WebMvcConfigurer {
  7. @Autowired
  8. private RequestHandlerInterceptor requestHandlerInterceptor;
  9. @Override
  10. public void addInterceptors(InterceptorRegistry registry) {
  11. // TODO Auto-generated method stub
  12. WebMvcConfigurer.super.addInterceptors(registry);
  13. registry.addInterceptor(this.requestHandlerInterceptor).addPathPatterns("/**");
  14. }
  15.  
  16. }

(3)配置

使用aop空间中的相关标签

java拦截器(interceptor)的更多相关文章

  1. java 过滤器(Filter)与springMVC 拦截器(interceptor)的实现案例

    java 过滤器Filter: package com.sun.test.aircraft.filter;import javax.servlet.*;import java.io.IOExcepti ...

  2. Java 中的过滤器Filter 和拦截器 Interceptor

    1.先说拦截器 Interceptor 本项目以springboot为例: 新建 InterceptorConfig package com.opendev.mystudy.MyInterceptor ...

  3. struts2学习笔记--拦截器(Interceptor)和登录权限验证Demo

    理解 Interceptor拦截器类似于我们学过的过滤器,是可以在action执行前后执行的代码.是我们做web开发是经常使用的技术,比如权限控制,日志.我们也可以把多个interceptor连在一起 ...

  4. SSM-SpringMVC-33:SpringMVC中拦截器Interceptor讲解

     ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 拦截器Interceptor: 对处理方法进行双向的拦截,可以对其做日志记录等 我选择的是实现Handler ...

  5. 过滤器(Filter)和拦截器(Interceptor)

    过滤器(Filter) Servlet中的过滤器Filter是实现了javax.servlet.Filter接口的服务器端程序.它依赖于servlet容器,在实现上,基于函数回调,它可以对几乎所有请求 ...

  6. 二十五、过滤器Filter,监听器Listener,拦截器Interceptor的区别

    1.Servlet:运行在服务器上可以动态生成web页面.servlet的声明周期从被装入到web服务器内存,到服务器关闭结束.一般启动web服务器时会加载servelt的实例进行装入,然后初始化工作 ...

  7. struts2拦截器interceptor的配置方法及使用

    转: struts2拦截器interceptor的配置方法及使用 (2015-11-09 10:22:28) 转载▼ 标签: it 365 分类: Struts2  NormalText Code  ...

  8. JavaWeb—拦截器Interceptor

    1.概念 java里的拦截器是动态拦截Action调用的对象,它提供了一种机制可以使开发者在一个Action执行的前后执行一段代码,也可以在一个Action执行前阻止其执行,同时也提供了一种可以提取A ...

  9. Kafka详解与总结(七)-Kafka producer拦截器(interceptor)

    1. 拦截器原理 Producer拦截器(interceptor)是在Kafka 0.10版本被引入的,主要用于实现clients端的定制化控制逻辑. 对于producer而言,interceptor ...

  10. JavaWeb_(Struts2框架)拦截器interceptor

    此系列博文基于同一个项目已上传至github 传送门 JavaWeb_(Struts2框架)Struts创建Action的三种方式 传送门 JavaWeb_(Struts2框架)struts.xml核 ...

随机推荐

  1. 【error】Gradle sync failed: Unable to start the daemon process.【已解决】

    ---恢复内容开始--- 在克隆GIT项目后,Android Studio 报错: Gradle sync failed: Unable to start the daemon process. Th ...

  2. Linux 桌面玩家指南:18. 使用 Docker 隔离自己的开发环境和部署环境

    特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...

  3. IoC和AOP的理解

    spring 的优点?1.降低了组件之间的耦合性 ,实现了软件各层之间的解耦 2.可以使用容易提供的众多服务,如事务管理,消息服务等 3.容器提供单例模式支持 4.容器提供了AOP技术,利用它很容易实 ...

  4. 使用 docker-compose 快速安装Jenkins

    本文分享在 docker 环境中,使用 docker-compose.yml 快速安装 Jenkins,以及使用主机中的 docker 打包推送镜像到阿里云 博客园的第100篇文章达成,2019的第一 ...

  5. Java 开发常用工具

    编译器 IDEA (个人觉得IDEA比较好用) Eclipse MyEclipse IDEA插件 Lombok: 使用注解,免去实体类中get /set/构造器等代码 ,需要引入lombok包 Ali ...

  6. git命令设置

    初始化为git项目: cd .../project  //切换到项目目录下 git init  //把project初始化为git项目 git remote add origin https://gi ...

  7. Image和Base64互相转换

    base64介绍: Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息.例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长 ...

  8. Python捕捉系统信号

    #!/usr/bin/env python # -*- coding: utf-8 -*- import signal import sys """ Python捕捉中断 ...

  9. 动手写 js 沙箱

    本文由云+社区发表 作者:ivweb villainthr 市面上现在流行两种沙箱模式,一种是使用iframe,还有一种是直接在页面上使用new Function + eval进行执行. 殊途同归,主 ...

  10. c#上位机与三菱PLC(FX3U)串口通讯

    项目中会经常用到上位机与PLC之间的串口通信,本文介绍一下C#如何编写上位机代码 与三菱FX3U进行通讯 1. 第一种方法是自己写代码实现,主要代码如下: //对PLC的Y7进行置1 byte[] Y ...