0
在Struts2中Struts2結果,線程安全性和操作上下文?
- 動作是線程安全的,每個請求都會啓動一個單獨的動作類對象。
- 攔截器不是線程安全的,因爲只有在所有請求的對象上纔會啓動攔截器。他們在execute()方法中接收ActionInvocation對象,並可以使用此對象訪問操作上下文。請參閱「Are Interceptors in Struts2 Thread UNsafe?」
記住這些事情,我相信他們收到ActionInvocation對象在他們的execute()方法
- 結果不是線程安全的。
在創建自定義結果類時,我在「Manning Struts2 in Action」一書中找到了以下代碼行。
ServletActionContext.getResponse()
我很困惑,爲什麼作者沒有使用actionInvocation對象即
actionInvocation.getInvocationContext().get(StrutsStatics.HTTP_RESPONSE);
現在我已經按照我的腦海裏的問題得到響應。
- 結果線程安全嗎?
- 如果Result不是線程安全的並且有兩個不同的請求,ServletActionContext如何返回相關響應?
謝謝@DaveNewton。你使事情簡潔而簡單。 Struts2結果是線程安全的,上下文使用ThreadLocal。 –