0

Java に問題があります。私は「index.jsp」を持っています。これが実行されるたびに、誰かがログインしているかどうかを確認したいと思います。誰もログインしていない場合は、ログイン ボタンのみが表示されます。それ以外の場合は、ログインの代わりにユーザー名が表示されます。私が使用するこの問題を解決するには -

session.getsession(false);
if(session==null)
    response.sendRedirect("login.jsp");
else
//rest of HTML Code.

しかし、それは機能していません。常に別の部分に移動します。
注: 「index.jsp」は、「logout.jsp」または「session.invalidate()」が呼び出される場所から転送されません。プロジェクトが実行されるのは初めてです。

4

2 に答える 2

2

セッションを取得するには、このコードを試してください

 HttpSession session = request.getSession(false);

それ以外の

session.getsession(false);

セッションを取得したら:

if(session == null)
{
    //session does not exists
    //redirect to login page
}
else
{
    //session is not ended
}

編集 :

あなたのコメントを見ると、あなたが JSP を使用していることがわかります。JSP では、明示的に作成しないように指定しない限り、コンテナによってデフォルト セッションが作成されます。

次の行を追加して、デフォルト セッションを作成しないように要求できます。

<%@page session="false" %> 

ページの上部に

于 2013-04-08T09:24:57.280 に答える
0

属性を使用してログイン ステータスを保存できます (例: ユーザー名)。

(String)session.getAttribute("Username")

上記の文字列の値が null の場合、ユーザーはログインしていません。ユーザーのログインが成功した後に、この属性の値を設定してください:)

于 2013-04-08T09:27:27.887 に答える