前言 Tomcat容器以及一些Web框架都使用了责任链设计模式来对请求和响应进行逐步的处理或者过滤,本文使用Java语言来模拟过滤器的实现。其序列图如下: 如果简单的使用责任链模式,用一个List来实现层层过滤,则会导致request的处理是按照顺序来执行,response也会按照顺序来执行,这就与我们期望的response按照倒序来执行相悖。因此要用一种方式实现request顺序处理,response倒序处理。 实现 类图大致如下: