我使用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服务是无状态的,我怎样才能使它成为有状态的。我整天试着谷歌搜索,对我帮助不大。
如何让它成为有状态的?
答案 0 :(得分:2)
您可以访问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 Security Concepts。
不相关:Java中的类始终以大写字母开头。