作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我需要向 Spring 应用程序添加一个过滤器,以便在将响应刷新回客户端后,我写入日志文件。我想要写入日志文件的值是在应用程序内确定的。换句话说,我想将值(最好是值的 HashMap )传递给主处理完成后的过滤器。
有这样做的最佳实践方法吗?我可以想象,当请求第一次传入时,我可以在过滤器中实例化 hashMap,将该 hashmap 存储在某个地方(在哪里?),在应用程序中检索它并写入它,然后在退出过滤器中再次检索它并写入值出来。这是最好的实践方法吗?如果是的话:
1) 我是否只有一个在进入和退出时触发的过滤器,还是需要设置两个,一个用于应用程序之前,一个用于应用程序之后?
2) 存储数据存储的最佳实践位置在哪里?
最佳答案
@Adi 的回答解释了如何使用单个过滤器和过滤器链接来完成这项工作。
但不要使用 ThreadLocal
,我建议您使用ServletRequest.getAttribute(...)
和ServletRequest.setAttribute(...)
;请参阅ServletRequest API 文档。
关于java - spring - 如何将值从应用程序传递到过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4130752/
我是一名优秀的程序员,十分优秀!