title: Accessing HttpContext, HttpServletRequest and HttpServletResponse from any place in the code
body: <p>What I want is to access current HttpServlerRequest + HttpServletResponse + HttpSession + some other important inforamation like user data and user's preferences from any point in my application. At the moment I am creating a special object <em>MyServletContext</em> which is then passed as the first parameter to all methods of all my objects. I want to get rid of this parameter but I am not sure what is the best way to do it.</p>
  
  <p>One of my ideas is to create a global cache where I store <em>MyServletContext</em> hashed by the current thread. Whenever I need any information stored in <em>MyServletContext</em> I will call this cache which will find me the right object. I know I will need to make this cache thread safe and I know how to do it.
  The question is: is there any better way to do it?</p>