Sevletでwebアプリ作ってるんですが、
アプリ稼働中はログインしたユーザー情報を個別にMapに突っ込んでおきたいのです。
そこで、認証が済んだユーザ情報をコントローラから

public class LoginUtil{
 private static Map loginUserSubInfo = new Map();
 public static void setLoginUserSubInfo(){};
 public static User getLoginUserSubInfo(){};
}

みたいなpublicクラスのクラス変数にstaticメソッド経由で入れようと
思ってるんですが、これだとloginUserSubInfoはスレッドセーフにはならず
同時アクセスがあった場合は意図しない値がセットされたりするんでしょうか?

そもそもこういう実装にはせず、sessionオブジェクトとかで
ユーザー情報を管理したほうがいいですか?