2016-08-28 9 views
0

私はthis guideの後にクッキーを読んで作成しましたが、私は同じサブドメインから作成したクッキーしか読むことができません。JAX-RS(ジャージー)でクッキーを読む方法

Iはからそれを読み取ることができ、私はhttp://localhost:8080/x/y/test/createにクッキーを作成する場合、たとえば、次のhttp://localhost:8080/x/y/test/read私はhttp://localhost:8080/x/y/test2/readからそれを読み出す

である(試験TEST2の違いに注意してください)ないでき問題?ドメイン内のどこにいても、どのようにCookieを読むことができますか?問題は、作成時にあった

CLASS 1

@Path("test") 
public class Test { 

    @GET 
    @Path("/create") 
    @Produces(MediaType.TEXT_PLAIN) 
    public Response login() { 
     NewCookie cookie = new NewCookie("name", "123"); 
     return Response.ok("OK").cookie(cookie).build(); 
    } 

    @GET 
    @Path("/read") 
    @Produces(MediaType.TEXT_PLAIN) 
    public Response foo(@CookieParam("name") String value) { 
     System.out.println(value); 
     if (value == null) { 
      return Response.serverError().entity("ERROR").build(); 
     } else { 
      return Response.ok(value).build(); 
     } 
    } 

} 

CLASS 2

@Path("test2") 
public class Test2 { 

    @GET 
    @Path("/read") 
    @Produces(MediaType.TEXT_PLAIN) 
    public Response foo(@CookieParam("name") String value) { 
     System.out.println(value); 
     if (value == null) { 
      return Response.serverError().entity("ERROR").build(); 
     } else { 
      return Response.ok(value).build(); 
     } 
    } 
} 

EDIT

:ここ

コードです。今度はこの方法でクッキーを作成します:

NewCookie cookie = new NewCookie("name", "123", "/", "", "comment", 100, false); 

答えて

2

これはデフォルトの動作です。 ドメインにCookieを設定するには、Cookieに別のコンストラクタを使用し、空のドメインとルートのパスを設定します。

domain = "" 
path = "/" 
関連する問題