使用struts2时,在Action类的方法中新建了一个线程,在新线程中调用request,报空指针,为什么?

publicvoiddeleteResourse(){System.out.println(ServletActionContext..getRequest());//此... public void deleteResourse() {
System.out.println(ServletActionContext..getRequest());//此处能正确获得HttpRequest实例
new Thread(new Runnable() {
@Override
public void run() {
System.out.println(ServletActionContext..getRequest());//此处报空指针异常
}

}).start();
}
展开
 我来答
ysushiwei
2013-06-13 · 超过11用户采纳过TA的回答
知道答主
回答量:94
采纳率:0%
帮助的人:36.8万
展开全部
这个报错,是必须的。
因为,你是相当于实现了Runnable接口,但是没有对应的对象。你现在的ServletActionContext是在action框架中的。
追问
那应该怎么办呢,我想在新线程里获取session中的值
百度网友a668673
2013-06-09 · TA获得超过527个赞
知道小有建树答主
回答量:425
采纳率:0%
帮助的人:345万
展开全部
struts2的action非线程安全的。如果是struts1就不会是空了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式