2012-10-20 12 views
8

私は、JSPとサーブレットに純粋に事業を展開し、必要としています:ログインしているすべてのユーザーと、そのサイトにアクセスしているがログインしていないユーザーを見つける方法

  1. ログイン中のユーザー
  2. の一覧を表示し、ログインせずにサイトにアクセスするユーザーの数を表示します。

サーブレットAPIはこれにいくつかの解決策を提供していますか?

私はこれを見つけましたanswer、これは私の最初の質問に答えるかもしれませんが、十分詳細ではありません。

上記の2つの質問に加えて、自分のサイトにアクセスしているユーザーのIPアドレスを記録できるかどうかも知りたいですか?

私はまだJava EEのさまざまなコンセプトを研究しており、これをどのように開始するのか分からないため、この点を念頭に置いて、これら3つのことを達成する方法の出発点と詳細をご記入ください。また、根本的な概念を理解するのに役立つリンクや説明を提供できれば幸いです。

答えて

1

あなたがリンクしている答えは正解です。つまり、httpセッションを利用して、識別されたユーザーと匿名ユーザーの両方を追跡することが可能です。

あなたが見たい1つのメカニズムは、httpリスナーインターフェイスです(http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpSessionListener.html参照)。これにより、セッションが作成および破棄されたときに通知を受けることができます。それはカウンターを更新する方法を提供します。

IPアドレスに関する質問は、リクエストオブジェクトでgetRemoteAddr()を呼び出すことで取得できます。リバースプロキシの背後にいる場合は、その設定に注意する必要があります。

+0

ありがとうOlivierがこれを見ていきます。私は 'HttpFilter'を使って、ログインしているユーザの数を維持する' HashMap'を作成しようとしましたが、ログインしていないユーザのためにどうやって行うのか分かりません。あなたが提案した 'getRemoteAddr()'再度、感謝します –