Java Web开发中过滤器,拦截器和监听器的区别

简介: Java Web开发中过滤器,拦截器和监听器的区别

现在的面试题很少问Java Web开发中过滤器,拦截器和监听器的区别了吧?为什么不问这个问题,也不清楚,感觉是老掉牙的东西,现在的开发者简历上会的东西很多,问了这么low的问题会被嫌弃?确实在SpringBoot,SpringCloud以及容器化当道的时代,这些基础知识很容易被遗忘。下面就简单介绍一下自己曾经的面试题。

过滤器(Filter):过滤器是一种可以在Servlet容器处理请求之前或之后对请求和响应进行预处理的组件。它主要用于对请求和响应进行过滤、修改和增强,例如进行字符编码转换、请求包装、响应解压缩等操作。刚开始学习Servlet的时候,过滤器的配置在web.xml文件中,现在大多使用注解的形式使用。

拦截器(Interceptor):拦截器是Spring MVC框架提供的一种拦截器机制,用于在请求处理的不同阶段进行拦截、处理和增强。与过滤器不同,拦截器是面向Spring框架的,它可以在Spring MVC框架的Controller处理请求之前或之后对请求和响应进行处理。拦截器通常用于实现日志记录、权限控制、性能监控等功能。拦截器的配置在Spring的配置文件中或者以Java类继承的形式配合注解使用。

监听器(Listener):监听器是一种可以监听Web应用程序中特定事件并在事件发生时执行一些操作的组件。例如,可以监听Web应用程序的启动和关闭、会话的创建和销毁、ServletContext属性的添加和删除等事件。监听器通常用于实现数据缓存、资源初始化、统计分析等功能。早期的监听器的配置也在web.xml文件中,现在在SpringBoot中通过实现接口的形式配合注解使用。

从应用场景来看,其实上面的三个概念会在平时的项目中经常使用到,知道其概念,使用方法会让代码架构更合理,不让业务代码跟通用的处理代码耦合在一起,还是值得我们去温故了解的知识点。

目录
相关文章
|
3天前
|
SQL Java
20:基于EL与JSTL的产品管理页-Java Web
20:基于EL与JSTL的产品管理页-Java Web
15 5
|
3天前
|
设计模式 前端开发 Java
19:Web开发模式与MVC设计模式-Java Web
19:Web开发模式与MVC设计模式-Java Web
13 4
|
3天前
|
设计模式 存储 前端开发
18:JavaBean简介及其在表单处理与DAO设计模式中的应用-Java Web
18:JavaBean简介及其在表单处理与DAO设计模式中的应用-Java Web
19 4
|
3天前
|
SQL Java 数据库连接
17:数据库连接池与Servlet整合-Java Web
17:数据库连接池与Servlet整合-Java Web
14 3
|
3天前
|
存储 前端开发 搜索推荐
13:Session机制实现用户登录与注销功能-Java Web
13:Session机制实现用户登录与注销功能-Java Web
16 3
|
3天前
|
XML 前端开发 Oracle
16:JSP简介、注释与Scriptlet、Page指令元素、Include操作、内置对象、四种属性-Java Web
16:JSP简介、注释与Scriptlet、Page指令元素、Include操作、内置对象、四种属性-Java Web
9 2
|
3天前
|
缓存 前端开发 Java
15:Servlet 3.0文件上传与下载-Java Web
15:Servlet 3.0文件上传与下载-Java Web
14 5
|
3天前
|
存储 缓存 前端开发
14:Servlet中的页面跳转-Java Web
14:Servlet中的页面跳转-Java Web
19 6
|
3天前
|
存储 前端开发 安全
13:会话跟踪技术Session的深度应用与实践-Java Web
13:会话跟踪技术Session的深度应用与实践-Java Web
16 3
|
3天前
|
存储 前端开发 搜索推荐
12:会话跟踪技术Cookie的深度应用与实践-Java Web
12:会话跟踪技术Cookie的深度应用与实践-Java Web
16 4