Создание и загрузка файлов cookie на Java
Я пишу небольшой веб-сервер на Java, используя HttpCore
для большинства Http-запросов/ответов и т. д.
Теперь я хотел бы иметь возможность создавать, хранить и загружать файлы cookie. Я ничего не могу найти в HttpCore
, и я не очень хорошо знаком с другими библиотеками. Существует ли существующая библиотека (желательно с рабочим примером) для обработки файлов cookie?
Edit : я вижу, что был немного смущен относительно использования файлов cookie. Я не совсем уверен, как это работает, но я хочу сохранить сеанс и получить доступ переменные сеанса с веб-сервера. Как я могу это сделать? Если браузер сохраняет файлы cookie, отправляет ли он их на сервер? Как мне получить к ним доступ?
1 ответ:
Поддержка сеансов на сервере, как правило, строится с использованием хранилища объектов. Простым хранилищем объектов будет карта или набор. Объекты в этом хранилище (значения в случае карты) имеют взаимно однозначное отображение с понятием логического сеанса, т. е. для каждого сеанса, созданного сервером, в хранилище будет находиться один элемент.
Сеансы, управляемые хранилищем, могут позволять связывать с ними атрибуты. Список таких атрибутов может быть неизвестен до раздачи, поэтому вы будете для этого нужна другая карта; ключами будут имена атрибутов, а значениями-значения атрибутов.Что касается управления хранилищем сеансов, вам нужно будет создать новый сеанс в хранилище, когда вызов API будет выполнен на ваш сервер. Проще говоря, если веб-приложение решает, что ему необходимо создать сеанс, API сервера должен предоставить необходимый интерфейс для этого. Одного создания объекта сеанса недостаточно; вам также потребуется написать ID сессии в cookie, когда вы сначала создайте сессии. API должен позволить написать соответствующий ответ в таком случае. Возможно, вы захотите взглянуть на API сервлета, особенно для классов HttpServletRequest и HttpSession, а также на реализацию контейнера сервлета для этой цели.
Что касается доступа к файлам cookie из запроса, вам необходимо проанализировать заголовки входящих HTTP-запросов, чтобы проверить наличие файлов cookie, отправленных браузером. Браузеры и другие HTTP клиенты должны использовать заголовок запроса
Set-Cookie
для этой цели. Вам необходимо убедиться, что объект сеанса может быть возвращен веб-приложению только в том случае, если в запросе указан допустимый файл cookie.