Ste*_*tez 2 java design-patterns try-finally
我已经看到这种模式现在在几个不同的地方使用,但我不确定它到底是什么或为什么需要它.鉴于我已经在优质项目中看到它,我确信它很有用,但我想理解它,而不是盲目地遵循它.我在Servlet过滤器和Struts2拦截器中特别看到了这种模式(在概念上与过滤器非常相似).
以下是Google Guice(Servlet)3.0的示例:
Context previous = localContext.get();
try {
localContext.set(new Context((HttpServletRequest) servletRequest,
(HttpServletResponse) servletResponse));
//dispatch across the servlet pipeline, ensuring web.xml's filterchain is honored
filterPipeline.dispatch(servletRequest, servletResponse, filterChain);
} finally {
localContext.set(previous);
}
Run Code Online (Sandbox Code Playgroud)
恢复finally块中的值有什么需要或好处?
归档时间: |
|
查看次数: |
224 次 |
最近记录: |