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,线程安全吗?
其实参数就是你在服务器里的那个线程
本文探讨了structs2框架中ServletActionContext.getRequest()方法的工作原理。该方法通过ThreadLocal获取当前线程中的HttpServletRequest对象,确保了每个请求的独立性和线程安全性。
276

被折叠的 条评论
为什么被折叠?



