有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Struts 2中的java HttpServletRequest和静态方法threadsafety

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

public static String getSomething(HttpServletRequest request)

在方法中,调用请求。getHeader(“headerName”)和请求。getParameter(“parameterName”)

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

private String theString;

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

假设我没有修改静态getSomething(request)函数中的请求异议,那么这个线程安全吗?我猜是的,因为据我所知,动作中的HttpServletRequest对象是线程本地的,但我不是100%确定


共 (2) 个答案

  1. # 1 楼答案

    是的,它是线程安全的,因为您要将其作为参数传递。这就像在代码中使用静态数学类

  2. # 2 楼答案

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