簡體   English   中英

如何使我的JAX-RS Web服務記住我的登錄信息?

[英]How to make my JAX-RS webservice remember my login?

我使用JAX-RS在Java中創建了一個非常簡單的REST Web服務。 並讓客戶端向該Web服務發出Ajax調用以登錄並獲取登錄信息。

JAX-RS代碼

@Path("/netsuite")
public class myRESTWebService{
   @GET
   @Path("/login/{userName}")
   public String login(@PathParam("userName") String userName){
      //here I have to save that userName in some session so that I can use it in below function
   }


   @GET
   @Path("/getUserName")
   public String getUserName(){
      //here I have to return the above username
   }  
}

我知道REST Web服務是無狀態的,我如何使其具有狀態。 我整天嘗試使用Google搜索,但對我沒有太大幫助。

我怎樣才能使它有狀態?

您可以訪問HttpSession並存儲用戶名,如下所示:

@GET
@Path("/login/{userName}")
public String login(@PathParam("userName") String userName, @Context HttpServletRequest servletRequest) {
    HttpSession session = request.getSession();
    session.setAttribute("userName", userName);
}

但是我強烈建議重新考慮為什么您需要在無狀態應用程序中使用狀態,並了解一下Java EE安全概念

無關:Java中的類始終以大寫字母開頭。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM