1、责任链模式:将⼀个事件处理流程分派到⼀组执⾏对象上去,这⼀组执⾏对象形成⼀个链式结构,事件处理请求在这⼀组执⾏对 象上进⾏传递。

2、过滤器和拦截器:

1、过滤器filter:是在java web中,你传⼊的request,response提前过滤掉⼀些信息,或者提前设置⼀些参数,然后 再传⼊servlet或者struts的 action进⾏业务逻辑,⽐如过滤掉⾮法url(不是login.do的地址请求,如果⽤户没有登陆都过滤 掉),或者在传⼊servlet或者 struts的action前统⼀设置字符集,或者去除掉⼀些⾮法字符;

2、拦截器interceptor:是在⾯向切⾯编程的就是在你的service或者⼀个⽅法,前调⽤⼀个⽅法,或者在⽅法后调⽤⼀个 ⽅法⽐如动态代理就是拦截器的简单实现,在你调⽤⽅法前打印出字符串(或者做其它业务逻辑的操作),也可以在你调⽤⽅法后打印出 字符串,甚⾄在你抛出异常的时候做业务逻辑的操作。拦截是AOP的⼀种实现策略;

3、区别: a. 拦截器是基于java的反射机制的,⽽过滤器是基于函数回调。 b. 拦截器不依赖于servlet容器,过滤器依赖与servlet容器。 c. 拦截器只能对action请求起作⽤,⽽过滤器则可以对⼏乎所有的请求起作⽤。 d. 拦截器可以访问action上下⽂、值栈⾥的对象,⽽过滤器不能访问。 e. 在action的⽣命周期中,拦截器可以多次被调⽤,⽽过滤器只能在容器初始化时被调⽤⼀次

Tomcat Filter过滤器责任链模式,过滤器拦截器区别?的更多相关文章

  1. 【设计模式】Java设计模式 - 责任链模式

    [设计模式]Java设计模式 - 责任链模式 不断学习才是王道 继续踏上学习之路,学之分享笔记 总有一天我也能像各位大佬一样 一个有梦有戏的人 @怒放吧德德 目录 [设计模式]Java设计模式 - 责 ...

  2. 我的Java设计模式-责任链模式

    今天来说说程序员小猿和产品就关于需求发生的故事.前不久,小猿收到了产品的需求. 产品经理:小猿,为了迎合大众屌丝用户的口味,我们要放一张图,要露点的. 小猿:......露点?你大爷的,让身为正义与纯 ...

  3. 由浅入深讲解责任链模式,理解Tomcat的Filter过滤器

    本文将从简单的场景引入, 逐步优化, 最后给出具体的责任链设计模式实现. 场景引入 首先我们考虑这样一个场景: 论坛上用户要发帖子, 但是用户的想法是丰富多变的, 他们可能正常地发帖, 可能会在网页中 ...

  4. 基于【 责任链模式】二 || 网关zuul过滤器封装

    一.基于责任链模式封装网关拦截 上一篇文章中已经使用建造者模式对网关拦截进行封装,存在一个问题,在连接器build中,每一个拦截都要进行true判断,代码看起来冗余,下面使用责任链模式封装 1.基于责 ...

  5. 设计模式学习笔记(十四)责任链模式实现以及在Filter中的应用

    责任链模式(Chain Of Responsibility Design Pattern),也叫做职责链,是将请求的发送和接收解耦,让多个接收对象都有机会处理这个请求.当有请求发生时,可将请求沿着这条 ...

  6. 拦截器——原理(AOP、责任链模式、配置)

    1.Struts2拦截器概述: (1)Struts2框架封装中封装了很多功能,这些功能其实都是封装在Struts2的拦截器里面,Struts2里面有很多拦截器,每次不是这些拦截器都执行,每次只执行默认 ...

  7. tomcat源码解读(2)–容器责任链模式的实现

    责任链模式:责任链模式可以用在这样的场景,当一个request过来的时候,需要对这个request做一系列的加工,使用责任链模式可以使每个加工组件化,减少耦合.也可以使用在当一个request过来的时 ...

  8. Filter(过滤器) 和 interceptor(拦截器)的区别

    Filter(过滤器) 和 interceptor(拦截器)的区别 1.拦截器是基于java反射机制的,而过滤器是基于函数回调的. 2.过滤器依赖于Servlet容器,而拦截器不依赖于Servlet容 ...

  9. 设计模式(一)Chain Of Responsibility责任链模式

    设计模式篇章,源于网课的学习,以及个人的整理 在我们接收用户提交的字符时,常常会使用到过滤,在学习责任链模式前,我们是这样做的 1.定义一个类 public class MsgProcesser { ...

  10. 设计模式(13)--Chain of Responsibility(责任链模式)--行为型

    作者QQ:1095737364    QQ群:123300273     欢迎加入! 1.模式定义: 责任链模式是一种对象的行为模式.在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一 ...

随机推荐

  1. java数组--对象数组的随机赋值及其他

    包含考点: 对象数组的随机赋值 浮点数的指定位数 换用思路进行对象数组的某一属性进行排序 现有Book类,定义如下: private String author; private String ISB ...

  2. uni-app项目从0-1基础架构搭建全流程

    前情 最近新接了一个全新项目,我负责从0开始搭建小程序,我选用的技术栈是uni-app技术栈,UI库选择的是uview-plus,CSS引入现在流行的tainlwindcss,实现CSS原子化书写,实 ...

  3. MySQL Explain查看执行计划详解

    目录 前言 EXPLAIN 中的列 id 和select_type table type possible_keys key 和 key_len ref 和 rows Extra 小结 Referen ...

  4. java springboot图片上传和访问

    上传 @RequestMapping("/uploadImg") public Result uploadImg(HttpServletRequest request, Multi ...

  5. 2024杭电钉耙1-1003 HDOJ7435 树

    本文同步发布于我的网站 Problem 给一棵根为 1 的有根树,点 \(i\) 具有一个权值 \(A_i\) . 定义一个点对的值 \(f(u, v)=\max \left(A_u, A_v\rig ...

  6. C# Task 取消执行的简单封装

    我让DeepSeek帮我写了一段使用 CancellationTokenSource 取消任务的简单示例如下: 取消任务的简单示例 using System.Threading.Tasks; usin ...

  7. ubuntu下多开terminator的快捷指令

    sudo apt-get install terminator Ctrl+Shift+E 垂直分割窗口 Ctrl+Shift+O 水平分割窗口 F11 全屏 Ctrl+Shift+C 复制 Ctrl+ ...

  8. Gin?有这一篇就够了!

    Gin Gin是Golang的一个后端框架,封装比较优雅,API友好. go get -u github.com/gin-gonic/gin 1.hello word package main imp ...

  9. DTMO 直播预告|Taier 的 Web 前端架构解析

    原文链接:DTMO 直播预告|Taier 的 Web 前端架构解析 一.直播介绍 上两期,我们为大家分享了 Taier 入门及控制台的介绍,本期我们为大家分享 Taier 的 Web 前端架构介绍. ...

  10. 为什么 `kubectl patch` 关闭探针不重启 Pod,重新开启却重启?

    揭秘 Kubernetes 探针机制与 Pod 不可变性的博弈 在 Kubernetes 运维中,一个常见现象引发困惑:关闭探针(如 LivenessProbe)时 Pod 不会重启,但重新启用后却可 ...