structs2 中提供了ServletActionContext.getRequest()来获得当前请求的对象
看了下源码
public static HttpServletRequest getRequest() {
return (HttpServletRequest) ActionContext.getContext().get(HTTP_REQUEST);
}
他是去ActionContext的Context里面拿了,那这个Context是什么呢
static ThreadLocal actionContext = new ThreadLocal();
果然是ThreadLocal
有人问
ServletActionContext.getRequest() 没有参数,又是静态方法,怎么能得到属于我的Request,线程安全吗?
其实参数就是你在服务器里的那个线程