Включая данные, извлеченные json постоянно на нескольких страницах сайта ... наилучшая практика? - PullRequest
1 голос
/ 23 ноября 2010

На этом сайте каждая страница состоит из нескольких файлов .jsp. Существует главная страница, которая содержит большую часть содержимого страницы, но затем навигация обрабатывается с помощью nav.jsp, верхняя часть заголовка обрабатывается с помощью top-section.jsp, footer.jsp и т. Д.

Содержимое страниц заполняется данными, полученными с помощью json с сервера промежуточного программного обеспечения. Для основных страниц (то есть раздела страницы, который содержит основную часть данных, относящихся к странице) данные извлекаются с помощью вызова ajax, который использует идентификатор зарегистрированного пользователя, чтобы получить то, что ему нужно.

Мой вопрос, как мне включить некоторые извлеченные данные, скажем, в top-section.jsp. Эта страница просто (и я здесь использую жестко закодированные данные, но на самом деле эти данные должны быть специфичны для вошедшего в систему пользователя):

<div id="userinfo">Harald Niven | <a href="nivenhelp?id=12345">Help</a></div>

Этот небольшой кусочек включен в каждую страницу, поэтому я хотел бы взять имя («Harald Niven» и URL-адрес справки) один раз, а затем использовать его на каждой странице сайта. Если предположить, что связь с промежуточным программным обеспечением осуществляется через вызовы ajax, которые возвращают json, каков наилучший способ сделать это?

Когда я загружаю данные для каждой страницы, это просто, у меня есть специальный файл js для этой страницы, который собирает необходимые данные, однако этот верхний раздел никогда не изменяется, поэтому кажется бесполезным делать запрос ajax и анализировать ответ каждый раз ... как я могу получить это один раз и сохранить его в течение всего времени, когда пользователь вошел в систему?

Редактировать: сеансы / файлы cookie отсутствуют из-за требований этого приложения, и я не могу записывать в базу данных ... только читать из нее очень ограниченным образом (любые запросы пользователей переднего плана для доступа к базе данных требуют огромного боль в заднице, количество одобрения и объяснений, поэтому, если я могу избежать этого пути, я хочу).

1 Ответ

1 голос
/ 23 ноября 2010

@ rg88,

Вам необходимо реализовать управление сеансами, в идеале на всех веб-сайтах люди используют разные базы данных для отслеживания пользователей.

Таким образом, вам необходимо сохранить информацию о входе пользователя, полученную из объекта json, в базу данных дорожек вместе с sessionID.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...