2016-01-13 143 views
1

我需要一个特定于请求的对象,并在Web应用程序中使用同一个对象来获取/设置值以执行特定请求的业务逻辑。我可以使用request.setAttribute/request.getAttribute或者我应该使用ThreadLocal。我的理解是,每个请求都由线程池中的单独线程处理。我有这样一个Spring的web Application.I还可以看到一个RequestContextHolder,不知道这将是合适人选HttpServletRequest request.setAttribute vs ThreadLocal vs RequestContextHolder

+0

http://stackoverflow.com/questions/10096483/is-threadlocal-preferable-to-httpservletrequest-setattributekey-value – Kidburla

回答

0

看来,你想要一个应用广泛的属性来提供给每一个具体的要求。为此,您可以使用request.getServletContext()。setAttribute()和request.getServeltContext()。getAttribute()。 ServletContext表示应用程序,因此使用它设置的属性在应用程序的整个生命周期中都可用,并且可以被多个请求使用。

+0

需要请求特定对象而不是应用程序范围 – Bukhtawar

+0

请澄清问题,你说“.. ..并在整个Web应用程序中使用相同的对象来获取/设置值......“。 – mmulholl

+0

我指的是一个对象,用于跨不同Web组件的一个请求线程(请求特定对象)的全部执行 – Bukhtawar

相关问题