如何在泽西岛设置 cookie?泽西、如何在、cookie

由网友(用心交友ゞ用钱交狗)分享简介:I am using jersey jax-rs in myeclipse as backend of my project and jsp as frontend. I want to set cookie from server after successful login. In the jersey's off...

I am using jersey jax-rs in myeclipse as backend of my project and jsp as frontend. I want to set cookie from server after successful login. In the jersey's official document, I can only find how to get cookie by jersey. Does anyone can give me a demo to do such things?

This is my login part and I return a response and redirect to URL "/" which means index.jsp.

@Path("/login")
@POST
@Consumes("application/x-www-form-urlencoded")
public Response login(@FormParam("email") String email,
        @FormParam("password") String password) {
    Map<String, Object> model = MapFactory.newHashMapInstance();
    model.put("email", email);
    model.put("password", password);
    loginCheck(model);
    if (model.get("emailCheck").equals("ok")
            && model.get("passwordCheck").equals("ok")) {
        return Response.ok(
                new Viewable("/index", new NewCookie("name",
                        "Hello, world!"))).build();
    } else {
        return Response.ok(new Viewable("/login", model)).build();
    }
}
javascript设置cookie高级篇可跨域访问

This is my "/" part:

@GET
@Produces("text/html")
public Response getIndex(@CookieParam("name") String name) {
    HashMap<String, Object> model = MapFactory.newHashMapInstance();
    model.put("name", name);
    System.out.println("cookie name:	" + name);
    return Response.ok(new Viewable("/index", model)).build();
}

Every time I run this code, I find that I cannot get cookie from the index part. If you also ever bothered by this question and finally solved it, plz give me some directions, thanks.

解决方案

To set the cookie in your example, you can do something like this:

return Response.ok(new Viewable("/index", model))
               .cookie(new NewCookie("name", "Hello, world!"))
               .build();

But if you want to redirect to "/" you would also need to return 3xx response instead of 200, for example:

return Response.seeOther("/")
               .cookie(new NewCookie("name", "Hello, world!"))
               .build();

阅读全文

相关推荐

最新文章