有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java从代码中的任何位置访问HttpContext、HttpServletRequest和HttpServletResponse

我想要的是从我的应用程序中的任何一点访问当前的HttpServlerRequest+HttpServletResponse+HttpSession+一些其他重要信息,比如用户数据和用户偏好。目前,我正在创建一个特殊的对象MyServletContext,然后将其作为第一个参数传递给我所有对象的所有方法。我想去掉这个参数,但我不确定最好的方法是什么

我的想法之一是创建一个全局缓存,在其中存储由当前线程散列的MyServletContext。每当我需要存储在MyServletContext中的任何信息时,我都会调用这个缓存,它会为我找到正确的对象。我知道我需要使这个缓存线程安全,我知道如何做到这一点。 问题是:有没有更好的方法


共 (1) 个答案

  1. # 1 楼答案

    我曾经使用ThreadLocal来实现这个目的。创建将HttpRequest放入ThreadLocal的HttpFilter,并在代码中的任何地方使用它