有没有办法从java applet中读取浏览器的cookie?

问题描述:

我有一个java applet需要对服务器执行http请求。一个快速实验表明,来自浏览器的会话ID cookie不会被发送,所以我必须手动设置它。 目前,我看到两个可能的解决方案:有没有办法从java applet中读取浏览器的cookie?

  • 某种方式从applet的
  • 通过传递Cookie信息到该applet的构造器中获取Cookie数据保持JavaScript的

我喜欢第一个解决方案,但我无法找到一个工作解决方案。我发现的所有信息(主要是netscape.javascript.JSObject)都过时了(我的1.5 VM没有这个类)

任何伟大的想法或资源我还没有找到?

你确定你的JVM不包含这个类吗?你应该看看$JAVA_HOME/lib/plugin.jar。我在1.5.0_14安装中找到它。

如果您正在动态生成页面,则不一定需要使用JavaScript来传递会话ID。只要您知道它在服务器端,您可以将它放入生成的HTML中的小程序参数标记中,该标记包含<applet>标记。

+0

errrrr .....哎呀。 那里是... 好的非常感谢你 – 2009-07-27 14:11:15

如今所有的浏览器都支持httponly cookies。如果cookie在服务器上被有意识地设置为“httponly”,在适当的响应头中,小程序可能无法访问它。