在Java的服务端开发当中,拦截器是很常见的业务场景,这里对Java开发当中几种常见的拦截器的实现方式进行记录和分析。案例说明基于Spring Boot环境。

一:实现javax.servlet.Filter接口(使用过滤器方式拦截请求)

import org.springframework.stereotype.Component;

import javax.servlet.*;

import java.io.IOException;

import java.util.Date;

@Component

public class TimeInterceptor implements Filter {

@Override

public void init(FilterConfig filterConfig) throws ServletException {

System.out.println("time filter init");

}

@Override

public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {

System.out.println("time filter start");

long start = new Date().getTime();

filterChain.doFilter(servletRequest, servletResponse);

System.out.println("time filter 耗时:"+(new Date().getTime()-start));

System.out.println("time filter finish");

}

@Override

public void destroy() {

System.out.println("time filter destroy");

}

}

如使用@Compent注解声明不需要加入其它配置即可使得拦截器生效&#x

java自定义拦截所有请求_Java实现拦截HTTP请求的几种方式相关推荐

  1. java反射获取实体类_java 反射获取类对象的三种方式

    Java反射经常用到的就是获取对象中的属性,那么Java获取类对象就是必不可少的啦! Java实体类: public class ReflexModel { private String code; ...

  2. JAVA中的arraylist集合_java中遍历ArrayList集合的四种方式

    详细内容 ArrayList遍历:取出ArrayList集合中的数据 方式一:for循环 方式二:增强for循环:foreach 方式三:Iterator:迭代器 方式四:ListIterator:双 ...

  3. java 连接mongodb 集群_Java 连接MongoDB集群的几种方式

    先决条件 先运行mongodb肯定是必须的,然后导入以下包: import com.mongodb.MongoClient; import com.mongodb.MongoClientURI; im ...

  4. java如何显示当天世界_Java学习笔记——显示当前日期的三种方式

    一.Date类:这是一种过时的表达方式 import java.util.Date;Date date = new Date(); System.out.println((1900+date.getY ...

  5. java中的map对象_java中遍历Map对象的四种方式

    import java.util.HashMap; import java.util.Map; /** * 遍历Map对象 * @author xiaosongsong: * @CreateTime ...

  6. java set去重复元素_java List去掉重复元素的几种方式

    使用LinkedHashSet删除arraylist中的重复数据(有序) List words= Arrays.asList("a","b","b&q ...

  7. java list 去重复元素_java List去掉重复元素的几种方式

    使用LinkedHashSet删除arraylist中的重复数据(有序) List words= Arrays.asList("a","b","b&q ...

  8. java 多线程的同步问题_java多线程解决同步问题的几种方式,原理和代码

    wait()/notify()方法 await()/signal()方法 BlockingQueue阻塞队列方法 PipedInputStream/PipedOutputStream 阻塞队列的一个简 ...

  9. java自定义封装一个方法_Java自定义套件封装教程

    Java自定义套件封装教程 时间:2017-07-28     来源:华清远见JAVA学院 各位亲爱的小伙伴们大家好,近很多伙伴都问我该怎么做Java自定义套件封装,今天华清Java学院小编在这里做了 ...

最新文章

  1. Python日期字符串到日期对象
  2. linux上利用crontab定时备份postgres数据库及文件到windows系统
  3. Fiddler抓包2-只抓APP的请求
  4. Python学习笔记:Day4 编写Model
  5. 利用MS17-010渗透win7(32位)
  6. 解决了界面上菜单项跑到其它AE控件后面的问题(java)
  7. Docker系列二~自定义网桥
  8. [转]如何让DIV固定在页面的某个位置而不随着滚动条随意滚动
  9. android进程守护 失效,保持Service不被Kill掉的方法--双Service守护 Android实现双进程守护 1...
  10. java物理架构_Java应用架构读书笔记(1):物理设计与逻辑设计
  11. 坚果pro2刷机分享
  12. 解剖SQLSERVER 第九篇 OrcaMDF现在能通过系统DMVs显示元数据(译)
  13. 易语言版{大智慧/分析家/飞狐交易师}DLL插件接口开发模块(beta5),自定义股票软件公式扩展函数...
  14. android 行居中,android自己定义换行居中CenterTextView(示例代码)
  15. 解析 FBX 模型文件作为 Direct3D 的渲染模型
  16. Visual.Assist.X.V10.7.1912的Crack破解补丁
  17. 总结揭露黑客入侵网站的手法
  18. imagej批量处理图片
  19. 键盘特殊符号输入小技巧
  20. 高仿苹果虚拟home键,手势拖动,放手会弹到屏幕边缘。

热门文章

  1. ARtillery报告:易用性是VR重要指标,非VR用户兴趣持续走低
  2. Optional long parameter ‘busId‘ is present but cannot be translated into a null value
  3. Easypay钱包是全球首家实现量化交易的一款数字货币钱!
  4. 巴比特首发 | 跨链的投资机遇和三池模型分析法
  5. 零代码实现EDI标准报文转换
  6. 百度地图生成器添加标注不显示
  7. 攻防世界web新手区(来自小白)*-*
  8. Swagger实体类参数分组
  9. GoldWave是什么软件?goldwave怎么设置中文
  10. NAVID官网下载历史版本驱动教程