認証サーブレットと実際のJSPとの間のCookieの可視性に奇妙な問題があります。サーブレットを使用してユーザーが有効なユーザーであることを認証している場合は、referer urlを使用してHttpServletResponseにCookieを追加します(これにより、統合は独自のログインページにリダイレクトされます)。ログアウト)。ログアウト操作は同じサーブレットを経由し、Cookieが取得され、ユーザーは保存されたCookie URLに戻るように指示します。これはすべて動作します。Java Servlet/JSP Cookie Disconnect
しかし、私のサイトでは、pageContext.getRequest()。getCookies()[またはFirebugのコンソール]で取得したCookieを表示しても、私が保存したCookieは見つかりませんでした。文字通りそれの痕跡はありません。それでも、ログアウトリンクをクリックして認証サーブレットに戻すと、Cookieが検出され、それに従ってリダイレクトが実行されます。
問題は、ログアウトと同じ方法でタイムアウト操作を処理する必要がありますが、タイムアウトチェックはJSPタグのサーブレットの外部にあります。タイムアウトはクッキーを見つけることができないので、統合している顧客が見たくない標準のタイムアウトページを使用しているだけです。
ここで何が起こっているのですか?
[回答者] これはパスの問題であることが判明しました。私はコードを貼り付けていないことを知っていますが、パスを設定せずにクッキーを作成していたので、サーブレットディレクトリ内にしかクッキーが表示されませんでした。 「/」のパスを設定すると、サイト全体でCookieが表示されます。
いいえ、すべて同じドメインにあります。サーブレットは独自のディレクトリにありますが、jspページはルートから提供されます – Gopherkhan