10
HTML5 UI连接到后端(REST Jersey到业务逻辑到Hibernate和DB)。 我需要为每个用户登录创建和维护一个会话,直到用户注销。如何在REST Jersey Web应用程序中创建,管理和关联会话
您能否指导我使用哪些技术/ API。 还有什么需要在REST客户端处理..
HTML5 UI连接到后端(REST Jersey到业务逻辑到Hibernate和DB)。 我需要为每个用户登录创建和维护一个会话,直到用户注销。如何在REST Jersey Web应用程序中创建,管理和关联会话
您能否指导我使用哪些技术/ API。 还有什么需要在REST客户端处理..
使用JAX-RS进行REST风格的Web服务非常简单。这里是基础知识。通常你定义一个或多个服务类/接口是通过JAX-RS annotations定义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 Sessions可以像往常一样通过getSession()
和getSession(boolean)
从HTTP Request对象访问。其他有用的注释是@RequestParam
,@CookieParam
或甚至@MatrixParam
等等。
欲了解更多信息,您可能需要阅读RESTEasy User Guide或Jersey User Guide,因为两者都是优秀的资源。
谢谢你的回答。假设我有一个映射多个模块的用户对象。如何将会话绑定到用户对象。 – Harish
你能解释一下你是如何将会话绑定到用户对象的?你想实现什么? – xea
我的意思是说,我从HTML5 Web UI登录。然后,我想将此用户对象关联(绑定)到会话。绑定到Session的这个User对象将在内部使用。 也就是说,无论何时使用Uder对象,相应的会话标识都应该始终标记为它。 – Harish