当前位置: 首页 > 面试题库 >

来自IE中servlet的持久性cookie

陶法
2023-03-14
问题内容

我有一个从servlet生成的cookie,并且我想保持它的持久性-
也就是说,设置cookie,关闭IE,启动它,然后仍然能够读取cookie。我正在使用的代码如下:

HttpServletResponse response = 
    (HttpServletResponse) FacesContext.getCurrentInstance()
    .getExternalContext().getResponse();

Cookie cookie = new Cookie("someKey", "someValue");
cookie.setMaxAge(7 * 24 * 60 * 60);
response.addCookie(cookie);

这在firefox中效果很好,但在IE
6/7中,cookie不会在浏览器重启之间保存。我已经检查了设置中可以想到的所有内容,但无法确定是什么原因导致Cookie被删除。据我所知,用正数调用setMaxAge可使cookie持久化。有什么想法为什么会出错吗?

编辑

我已经使用Olaf建议的更多信息技巧来验证,该cookie试图设置为会话cookie,而不是持久性cookie;最长年龄设置为“会话结束”。因此,似乎没有为IE设置最大年龄-
我已经验证了在Firefox中,最大年龄设置正确。我仍然不知道发生了什么。


问题答案:

我对Java或servlet一无所知,但是IE仅在具有Expires日期的情况下才会保留cookie,设置max-
age不足,IE会继续将其视为会话cookie。



 类似资料:
  • EJB 3.0,EJB 2.0中使用的实体bean在很大程度上被持久性机制所取代。 现在,实体bean是一个简单的POJO,它具有与表的映射。 以下是持久性API中的关键角色 - Entity - 表示数据存储记录的持久对象。 可序列化是件好事。 EntityManager - 持久性接口,用于对持久对象(实体)执行添加/删除/更新/查找等数据操作。 它还有助于使用Query接口执行查询。 Per

  • 我有一个Kubernetes pod(让我们称之为POD-A),我希望它使用某个配置文件来使用k8s API执行一些操作。配置文件将是一个YAML或JSON,由POD中的应用程序解析。 配置文件由云上的应用服务器托管,它的最新版本可以根据触发器提取。配置文件包含k8s集群中所有部署的配置细节,并将用于使用POD-A中的k8s API更新部署。 现在我想的是将这个配置文件保存在配置映射中,每次拉出一

  • 我正在使用iText4.2.1生成pdf报告。所以基本上我有一个PDF模板,它包含一个封面页,结束页和一个内容页(只包含一个图像头)。 我正在使用pdfcopy&pdfimportedpage复制我的模板,并使用pageStamp动态添加我的内容。 需要:我需要多次使用内容页:与报表中的内容页一样多。 下面是一个代码示例: -->在第2页中,我将看到我的文本1和文本2 我尝试使用相同的pdfimp

  • 问题内容: 保存Java applet状态的好方法是什么? 我可以处理文件的对象序列化/反序列化,但不知道应将其放置在什么地方,或者是否有一些“注册表”可以只保存几个用户设置。 这些设置取决于硬件,因此我想将其保存在客户端上。 对applet拥有完全许可。 问题答案: 保存Java applet状态的好方法是什么? 对于受信任的applet,有很多选择。 我可以处理对象从文件到文件的序列化/反序列

  • 我有疑问一条消息是否会在主题中持续存在,我从这篇文章中得到了大部分答案。 但是这种情况如何呢?假设代理重新开始,一些发布者已经开始向一个主题发送消息,现在将来一些持久订户将与该主题连接,但是当前没有持久订户,因此在代理重新开始的情况下,发布者到目前为止向该主题发送的所有消息都将丢失。 我尝试了上述情况,确实所有的信息都丢失了。此外,我尝试了这种情况——我有一个活跃的持久订阅者,它能够将消息推送到主

  • 调用init方法失败;嵌套的异常是javax。坚持不懈PersistenceException:[PersistenceUnit:默认值]无法生成Hibernate SessionFactory 在更换系统中的操作系统后,我遇到了这个异常。在我的应用程序运行MySQL 5.7和java 8之前。现在我把它改成了mySQL 8和java 8。代码没有任何变化。原因一定是什么?? 下面是日志: