gpt4 book ai didi

java - spring - 如何将值从应用程序传递到过滤器

转载 作者:行者123 更新时间:2023-12-02 08:27:52 24 4
gpt4 key购买 nike

所以我需要向 Spring 应用程序添加一个过滤器,以便在将响应刷新回客户端后,我写入日志文件。我想要写入日志文件的值是在应用程序内确定的。换句话说,我想将值(最好是值的 HashMap )传递给主处理完成后的过滤器。

有这样做的最佳实践方法吗?我可以想象,当请求第一次传入时,我可以在过滤器中实例化 hashMap,将该 hashmap 存储在某个地方(在哪里?),在应用程序中检索它并写入它,然后在退出过滤器中再次检索它并写入值出来。这是最好的实践方法吗?如果是的话:

1) 我是否只有一个在进入和退出时触发的过滤器,还是需要设置两个,一个用于应用程序之前,一个用于应用程序之后?

2) 存储数据存储的最佳实践位置在哪里?

最佳答案

@Adi 的回答解释了如何使用单个过滤器和过滤器链接来完成这项工作。

但不要使用 ThreadLocal ,我建议您使用ServletRequest.getAttribute(...)ServletRequest.setAttribute(...) ;请参阅ServletRequest API 文档。

关于java - spring - 如何将值从应用程序传递到过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4130752/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com