Как создать, управлять, связать сеанс в веб-приложении REST Jersey

Пользовательский интерфейс HTML5 подключается к серверу (REST Jersey к бизнес-логике в Hibernate и DB). Мне нужно создать и поддерживать сеанс для каждого входа пользователя, пока пользователь не выйдет из системы.

Можете ли вы рассказать мне, какие технологии /API можно использовать. Нужно ли что-то обрабатывать и на стороне клиента REST.

Ответ 1

Использование JAX-RS для веб-служб RESTful довольно просто. Вот основные сведения. Обычно вы определяете один или несколько классов обслуживания/интерфейсов, которые определяют ваши действия REST с помощью JAX-RS аннотации, например этот:

@Path("/user")
public class UserService {
    // ...
}

Вы можете автоматически вводить ваши объекты в свои методы через эти аннотации:

// Note: you could even inject this as a method parameter
@Context private HttpServletRequest request;

@POST
@Path("/authenticate")
public String authenticate(@FormParam("username") String username, 
        @FormParam("password") String password) {

    // Implementation of your authentication logic
    if (authenticate(username, password)) {
        request.getSession(true);
        // Set the session attributes as you wish
    }
}

HTTP-сессии доступны из HTTP-запрос через getSession() и getSession(boolean), как обычно. Другими полезными аннотациями являются @RequestParam, @CookieParam или даже @MatrixParam среди многих других.

Для получения дополнительной информации вы можете прочитать Руководство пользователя RESTEasy или Руководство пользователя Jersey, поскольку оба являются отличными ресурсами.