Struts 2中的HttpServletRequest和静态方法线程安全性

时间:2012-12-03 21:37:06

标签: java struts2 thread-safety static-methods

假设我在类中有一个静态方法:

public static String getSomething(HttpServletRequest request)

在该方法中,调用request.getHeader(“headerName”)和request.getParameter(“parameterName”)。

另外,在Struts 2 Action中,我在execute()中调用了这个函数:

private String theString;

public String execute() throws Exception {
    theString = TheClass.getSomething(ServletActionContext.getRequest());
    ....
    ....
}

假设我在静态getSomething(请求)函数中没有修改请求异议,这个线程是否安全?我猜是的,因为根据我的理解,动作中的HttpServletRequest对象是线程本地的,但我不是百分百肯定。

2 个答案:

答案 0 :(得分:0)

是的,它完全是线程安全的,因为所有变量都只从栈中引用。

答案 1 :(得分:0)

是的,它的线程安全,因为您将此作为参数传递。就像在代码中使用静态Math类一样。