如何在 REST Jersey Web 应用程序中创建、管理和关联会话

2022-09-04 07:50:02

HTML5 UI连接到后端(REST泽西到业务逻辑到Hibernate和DB)。我需要为每个用户登录创建和维护一个会话,直到用户注销。

您能指导我可以使用哪些技术/API吗?是否还需要在 REST 客户端处理某些内容。


答案 1

将 JAX-RS 用于 RESTful Web 服务是相当简单的。以下是基础知识。您通常定义一个或多个服务类/接口,这些服务类/接口通过 JAX-RS 注释定义 REST 操作,如下所示:

@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用户指南泽西岛用户指南,因为两者都是优秀的资源。


答案 2