2011-07-29 7 views
6

サーブレットを初めて使用していますが、私は多くの進歩を遂げました。私のサーブレットはうまくいきます。そこで、ユーザーが正しいパスワードと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分

ありがとうございました!

+2

クライアントはCookieをサポートしていますか? – Bozho

+0

はいGoogle Chromeを同じマシンで使用してサーブレットを開きます。 – Genom

+0

あなたの質問は何ですか? – EJP

答えて

関連する問題