サーブレットを初めて使用していますが、私は多くの進歩を遂げました。私のサーブレットはうまくいきます。そこで、ユーザーが正しいパスワードとIDを渡すと、セッションを作成する認証メカニズムを導入することにしました。しかしセッションはまったく新しいものです。だから私は論理にはほとんど従わないが、私は理解し始めた。javaサーブレットでセッションを取得できません
前に述べたように、自分のサーブレットの1つがログイン専用です。パスワードが正しい場合、セッションが作成されます(セッションにオブジェクト/データは保存されません)。クライアント(remoteUser)セッションが作成されます。クライアントが行うことは、同じアプリケーション内の他のサーブレットに到達することです。他のサーブレットは、セッションが作成され、有効である(タイムアウトしていない)かどうかを確認するためにセッションを取得します。他のサーブレットでその目的のために私はセッションを取得します:
HttpSession session = req.getSession(false); //false because this is not the place to create a session. sessions should only be created in the login servlet.
しかし、これはnullを返します。だから私は試してみました:
HttpSession session = req.getSession();
そして、session.isNew()でチェックしました。私は新しいセッションでした。したがって、私がログインサーブレットで作成したセッションは、req.getSession()で呼び出すことはできません。別のサーブレットで
PS:セッションがログインサーブレットで作成された場合:session.setMaxInactiveInterval(300); // 5分
ありがとうございました!
クライアントはCookieをサポートしていますか? – Bozho
はいGoogle Chromeを同じマシンで使用してサーブレットを開きます。 – Genom
あなたの質問は何ですか? – EJP