サーブレットから生成された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で最大年齢が正しく設定されていることを確認しました。何が起こっているのかまだわかりません。