0

Holder类有一个静态的 ThreadLocal<Xxx>,封装了 set、get、remove这 3个ThreadLocal相对应的方法

class Holder{

static ThreadLocal<Xxx>;
static setXxx
static getXxx
static removeXxx

}

下面set一个对象后,是又把它删掉了吗,但是后面还要 getXxx获取这个对象使用,
这点不是很懂,他是什么时候执行 finally的,如果立刻删了,那后面肯定获取不到了,就没有获取的意义了
这个 Filter几乎每个 .do操作都会过滤

try {

Holder.setXxx(xxx);
chain.doFilter(request, response);

} finally {

Holder.removeXxx();

}

2019-06-14 提问
1 个回答
1

已采纳

代码离开try/catch结构,不管是正常的离开(从try代码块离开),还是抛出异常方式离开(从catch代码块离开),都会进入执行finally里面的代码。只看到set和remove,没看到get,你的代码不全吧。

撰写答案

推广链接