java 获取请求上下文_Java中是否有请求上下文?

我不确定如何在这里标题的标题,因为我不确定如何去寻找答案。Java中是否有请求上下文?

我有一个处理请求的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();

}

现在,在doSomething中,我希望能够访问哪个用户提出请求。现在,我通过创建一个Java对象并将它传递到哪里,我需要做的是:

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的实例,它可以沿着如果需要,可以进一步通过。

这感觉马虎。在asp.net MVC3中(我目前正在学习它,在我开始学习java之后开始学习,但发现这非常方便,所以让我重新思考我是如何在java中进行的),例如,我可以存储当前项目像这样的线程:HttpContext.Current.Items.Add("myId", "123")。然后可以在其他函数中使用HttpContext,而不必传递对象。

是否有在Java中的方式来设置每个请求一些变量(或甚至设置MyUserObject稍后访问)而不经过对象通过作为参数?

如果这是一种常见的已经回答的问题随时给我指出正确的方向,因为我不知道如何句话吧。

2012-04-17

Two13

+0

我自由地编辑了你的标题。请验证它是否是一个好的 –

2012-04-17 18:48:51

+0

我只是明确地传递它,隐式状态和依赖关系对可维护性不利。像Spring这样的框架应该明确地帮助删除一些样板和混乱。 –

2012-04-17 18:48:54

+0

如果你理解我的问题,那么我相信你的标题编辑比我原来的标题更好:) –

2012-04-17 18:55:49

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值