过滤器和拦截器的区别

Filter(过滤器)和Interceptor(拦截器)的区别

1.前置知识 :Tomcat web服务器 Servlet

  • 服务器,也称伺服器。是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。

    服务器的构成包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高

  • Web服务器是一个应用程序(软件),对HTTP协议的操作进行封装,使得程序员不必直接对协议进行操作(不用程序员自己写代码去解析http协议规则),让Web开发更加便捷。主要功能是"提供网上信息浏览服务"。

  • Tomcat服务器软件是一个免费的开源的web应用服务器。是Apache软件基金会的一个核心项目。由Apache,Sun和其他一些公司及个人共同开发而成。

  • Servlet:是Java提供的一门 动态web资源开发技术,Servlet是Tomcat来创建的

    具体可参考视频 11-Servlet简介&快速入门_哔哩哔哩_bilibili

    image-20240130000717934

由于Tomcat只支持Servlet/JSP少量JavaEE规范,所以是一个开源免费的轻量级Web服务器。

JavaEE规范: JavaEE => Java Enterprise Edition(Java企业版)

JavaEE规范就是指Java企业级开发的技术规范总和。包含13项技术规范:JDBC、JNDI、EJB、RMI、JSP、Servlet、XML、JMS、Java IDL、JTS、JTA、JavaMail、JAF

因为Tomcat支持Servlet/JSP规范,所以Tomcat也被称为Web容器、Servlet容器。JavaWeb程序需要依赖Tomcat才能运行。

2.面试分析

主要是考察Web应用程序中常用技术的掌握程度和请求处理流程和各个技术应用场景的理解

Servlet容器和SpringBoot框架的掌握程度

从1.技术实现,2.应用场景和 3.性能方面去考虑

  • 区别1:运行的顺序不同,过滤器是Servlet容器接收请求之后,但是在Servlet被调用之前运行的.而拦截器是在Servlet被调用之后,但是在响应被发送到客户端之前运行的

    image-20240129235932694

  • 区别2:配置方式不同过滤器是在web.xml里面进行配置.拦截器是在Spring配置文件中进行配置或者使用注解配置

  • 区别3:依赖不同 Filter 依赖于Servlet容器 而Interceptor不依赖于Servlet容器

  • 区别4:操作的对象不同 Filter在过滤器中只能对request和response进行操作, 而Interceptor可以对request,response ,handler,modelAndView exception 进行操作 相当于多了对Spring MVC 生态下的组件的一个操作能力

3.执行流程

image-20240128003509667

  • **接口规范不同:**过滤器需要实现Filter接口,而拦截器需要实现HandlerInterceptor接口
  • 拦截范围不同:过滤器或拦截所有的资源,而 Interceptor只会拦截Spring环境中的资源
  • 29
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值