3

ActionContext と ActionInvocation に関して少し混乱しています。Action Context は Action が実行されているコンテキストであることを知っています。ActionInvocation は、Session、Value Stack などの ActionContext 内にありますか? 次に、ActionContext はスレッドごとに一意であるため、すべてのユーザー要求で作成されますか? もしそうなら、これはすべてのユーザー要求で毎回新しいアクション コンテキストを作成するにはコストがかかりすぎますか?

4

2 に答える 2

1

アクションが実行されているコンテキストActionContextとして、またアクションの実行については、呼び出しも必要です。ActionInvocationこれはActionContextの一部であり、コンテキストから取得する方法はすべてあります。

public ActionInvocation getActionInvocation()

コンテキストはThreadLocalsを使用します。これは、ActionContextに格納されている値がスレッドごとに一意であることを意味します。私にとって、これはオーバーヘッドではありません。他の場合は、マルチスレッドアプリケーションでアクセスされるすべてのものがスレッドセーフであることを確認する必要がありますActionContext。リクエストごとに新しいものが作成されます。

于 2012-10-26T05:56:44.407 に答える