在不同的应用程序中编写和读取Cookie

时间:2012-10-04 12:22:20

标签: java servlets cookies

我在Jboss中运行了两个应用程序,我可以在应用程序中编写cookie并在另一个应用程序中读取吗?

例如,如果我有两个Servlet:   - localhost:8080 / Application1上的WriterCookieServlet   - localhost上的ReaderCookieServlet:8080 / Application2

WriterCookieServlet:

 Cookie cookie = new Cookie("cookie", "cookieValue");
 response.addCookie(cookie);
 response.sendRedirect("localhost:8080/Application2");

然后在ReaderCookieServlet上我想读这个cookie。

2 个答案:

答案 0 :(得分:2)

我认为@ galuano1是对的:这应该是可能的。但请确保路径正确无误。它用于确定某个cookie是否对Web应用程序可见。

来自Cookie Javadoc

  

cookie对您指定的目录中的所有页面以及该目录的子目录中的所有页面都是可见的。 Cookie的路径必须包含设置cookie的servlet,例如 / catalog ,这使得cookie对 / catalog 下服务器上的所有目录都可见。

     

有关设置Cookie路径名的详细信息,请参阅RFC 2109(可在Internet上获得)。

我会说你应该使用/作为目录,因为两个应用程序都有不同的上下文根。

答案 1 :(得分:2)

只要cookie中指定的域相同(此处为localhost),cookie就可以被两个不同的应用程序读取