(ここでタイトルをどのように表現するか正確にはわかりません。そのため、答えを検索する方法もよくわかりません。)
リクエストを処理する Java サーブレット エンジンがあります。doGet()
リクエストがあるとします。
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//set up user data
//do whatever the user requested
SomeClass c = new SomeClass();
c.doSomething();
}
ではdoSomething()
、どのユーザーがリクエストを行ったかにアクセスできるようにしたいと考えています。現在、メソッド内に Java オブジェクトを作成し、必要な場所に渡すことでそれを行っています。
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//set up user data
MyUserObj userObj = new MyUserObj();
userObj.setId('123');
//do whatever the user requested
SomeClass c = new SomeClass(userObj);
c.doSomething();
}
これにより、 のインスタンスにアクセスMyUserObj
できるようになり、必要に応じてアプリケーションでさらに渡すことができます。
ASP.NET MVC3 では、現在のスレッドの項目/属性を次のように保存することでこれを達成できることを知っています HttpContext.Current.Items.Add("myId", "123")
。 HttpContext
その後、オブジェクトを明示的に渡す必要なく、他の関数で使用できます。
オブジェクトをパラメータとして渡すことなく、リクエストごとにいくつかの変数を設定する(またはMyUserObject
後でアクセスするように設定する)Javaで方法はありますか?