Шов: Как получить идентификатор сессии из Servlet-Request - PullRequest
1 голос
/ 21 февраля 2012

У меня большой проект Seam, и я хочу обслуживать некоторые XML или двоичные данные без каких-либо действий или вмешательства JSF.

Поэтому я решил использовать сервлеты. Метод, который я использовал, описан здесь: http://www.seamframework.org/Documentation/ReplacingServletsWithSeamResources

На самом деле, я работаю с двумя сервлетами, предоставляющими разную информацию.

Теперь я хочу реализовать то, что я могу отслеживать каждый сеанс, используя идентификатор сеанса. Но: каждый раз, когда сервлет вызывается, я получаю новый идентификатор сессии.

На одном форуме пишут, что я должен реализовать сессионный трекер (https://community.jboss.org/thread/190326). Это значит:

а) после первого звонка я должен отправить идентификатор сессии клиенту

b) после этого при каждом вызове клиент должен отправлять идентификатор сеанса на сервер.

в) Теперь сервер может получить сеанс из трекера сеанса.

Нет ли более простого решения? Я имею в виду, что должен быть любой шанс, что сервлет Seam автоматически обнаружит, что звонок поступил от того же клиента, что и раньше.

Спасибо!

1 Ответ

1 голос
/ 21 февраля 2012

Эти запросы поступают от современного веб-браузера или какого-то отдельного клиента?Используется ли файл cookie JSESSIONID повторно при последующих запросах?

Если вы считаете, что файл cookie должен быть там, вы можете использовать HttpServletReqeust.getCookies (), чтобы увидеть, видит ли его сервер.

http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletRequest.html#getCookies()

...