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