2010-08-24 8 views
1

Я постараюсь как можно лучше объяснить, что я делаю, чтобы получить best Возможный совет/решение. Все это делается в java.Управление сеансом Http/альтернативное управление сеансом (на Java)

У моего клиента есть настольное приложение на основе SWING, которое будет загружаться с помощью WebStart. Мне было поручено создать диспетчер сеансов для информации учетной записи пользователя.

Мой друг предложил использовать Http Session Management, поэтому я решил попробовать его. Я написал сервлет (давайте назовем этот SessionServlet), который создает, удаляет и переназначает сеансы на основе профиля пользователя. В tomcat 7 сеансы не сохраняются. Я подозреваю, что когда сервлет инициализирован, сеанс завершается. Я получаю только org.apache.catalina.ASYNC_SUPPORTED в сеансе.

Мой вопрос (ы) является/являются:

  • Как разрешить Tomcat 7, чтобы сделать управление Session?
  • Как я могу управлять сеансом весной 3? У меня есть большинство сервисов, запущенных в Spring, и я думаю, что для меня будет достаточно разумно провести Session Management весной.
  • Какие еще средства для управления сеансом в java, есть ли шаблон проектирования для управления сеансом? (просто любопытно).

Спасибо, миллион!

ответ

2

Я понял это, поэтому я поделюсь своим вкладом.

При выполнении управления сеансом Http (особенно с сервлетами) необходимо убедиться, что управление сеансом на стороне клиента также существует.

Случается, что при создании сеанса сервлет возвращает файл cookie с JSESSIONID значением сеанса, созданного контейнером сервлета. Убедитесь, что клиентская сторона может хранить сеанс и использовать его каждый раз, когда вам нужно получить доступ к данным сеанса с сервера.

Я не хранил печенье с моей стороны, поэтому казалось, что сеанс никогда не создавался.

Надеюсь, это поможет кому-то еще.

+0

Это правильно. Жаль, что я упустил вопрос. Это связано с API-интерфейсом Servlet, поэтому тег 'servlet' также будет установлен. – BalusC

+0

Спасибо BalusC, обновлено. –

2

Возможно, я не понимаю, что вы пытаетесь сделать с сеансом, но сеансы (с точки зрения сервлетов) существуют только в то время, когда пользователь обращается к сайту. Таким образом, пользователь получает первую страницу, а сеанс настроен и доступен для каждой страницы, к которой обращается пользователь. Когда пользователь покидает сайт, сеанс исчезает. Это поведение, которое вы ищете, или вы ищете что-то, что будет сохраняться между посещениями сайта?

+0

Что-то, что сохранится «навсегда». то есть сеанс может существовать вечно до тех пор, пока его не попросят уничтожить. –

+0

Я думаю, вам может быть лучше смотреть на куки, которые могут сохраняться в течение длительного периода времени. NB Я очень мало знаю о Весне. – Jaydee

+0

Я дал вам +1 за ваши усилия. –