Я все еще довольно новичок в JEE6, пришедшем из стиля разработки Servlets + JSP на унаследованных системах. В приложениях, над которыми я работал, мы просто бросали объекты в различные предоставляемые области (запрос, сессия и приложение), которые были привязаны к константе String. Например, объект «Пользователь», представляющий текущего вошедшего в систему пользователя, будет находиться в области видимости сеанса с ключом «current_user».
Я сделал то же самое в нашем новом приложении JEE6, когда пользователь входит в объект User, привязанный к области сеанса. Мне интересно, если есть лучший, более EE, способ справиться с этим?
Проблема, с которой я столкнулся, заключается в том, что теперь, когда у меня есть пользователь, сохраненный в сеансе, неудобно снова получать к нему доступ. Я могу получить его с помощью JNDI look up или с помощью нескольких строк кода котельной плиты, включая FacesContext, но ни один из них не очень элегантен.
Вместо того, чтобы код повсеместно использовать кодовую табличку (в некоторых местах нужен объект User), было бы здорово, если бы я мог просто вставить объект в поле или метод. В конце концов, в сеансе может быть только один объект, связанный с конкретным именем, поэтому не должно быть никакой двусмысленности относительно того, что я прошу. Это возможно?