Java servlet API 中是否有通用的 RequestContext?
(我不确定如何在这里表达标题,因此我也不太确定如何去寻找答案。
我有一个处理请求的Java servlet引擎。假设我们有一个请求:doGet()
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//set up user data
//do whatever the user requested
SomeClass c = new SomeClass();
c.doSomething();
}
现在在 中,我希望能够访问哪个用户发出了请求。现在,我正在通过在方法中创建一个Java对象并将其传递到我需要它的任何位置来做到这一点:doSomething()
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//set up user data
MyUserObj userObj = new MyUserObj();
userObj.setId('123');
//do whatever the user requested
SomeClass c = new SomeClass(userObj);
c.doSomething();
}
通过这样做,我可以访问 的实例,并且可以根据需要在应用程序中进一步传递它。MyUserObj
我知道在MVC3 ASP.NET,我可以通过存储当前线程的项目/属性来实现这一点,如下所示:. 然后,在其他函数中可用,而无需显式传递对象。HttpContext.Current.Items.Add("myId", "123")
HttpContext
在Java中,有没有办法为每个请求设置一些变量(甚至设置稍后访问的变量),而无需将对象作为参数传递?MyUserObject