2012-10-20 14 views
8

Zajmuję się tworzeniem projektu wyłącznie na JSP i serwlety i wymagają:Jak znaleźć wszystkich zalogowanych użytkowników i użytkowników, którzy uzyskują dostęp do witryny, ale nie są zalogowani?

  1. aby wyświetlić listę zalogowanych
  2. i pokazują liczbę użytkowników korzystających z witryny bez logowania.

Czy interfejs API Servlet zapewnia rozwiązanie tego problemu?

Znalazłem to answer, może to odpowiedzieć na moje pierwsze pytanie, ale nie jest wystarczająco szczegółowe.

Oprócz powyższych dwóch pytań chciałbym również wiedzieć, czy mogę rejestrować adresy IP użytkowników uzyskujących dostęp do mojej witryny?

Wciąż studiuję różne koncepcje Java EE i nie wiem, jak zacząć od tego, więc mając to na uwadze, proszę podać punkt wyjścia i trochę szczegółów, w jaki sposób można osiągnąć te trzy rzeczy. Byłbym również wdzięczny, gdybyś mógł podać linki lub wyjaśnienia, które pomogą mi zrozumieć podstawowe pojęcia.

Odpowiedz

1

Odpowiedź, z którą się łączysz jest poprawna, w tym sensie, że można polegać na sesjach http w celu śledzenia użytkowników, zarówno tych zidentyfikowanych, jak i anonimowych.

Jednym z mechanizmów, który chcesz obejrzeć, jest interfejs odbiornika http (patrz http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpSessionListener.html). Dzięki temu możesz otrzymywać powiadomienia o utworzeniu i zniszczeniu sesji. To da ci sposób na zaktualizowanie liczników.

Jeśli chodzi o pytanie dotyczące adresu IP, można uzyskać, wywołując metodę getRemoteAddr() w obiekcie żądania. Jeśli jesteś za odwrotnym proxy, być może będziesz musiał zwrócić uwagę na jego konfigurację.

+0

Dzięki Olivier będzie to wyglądać. Próbowałem użyć 'HttpFilter' do utworzenia' HashMap', aby zachować liczbę zalogowanych użytkowników, ale nie jestem w stanie wymyślić, jak to zrobić dla użytkowników, którzy się nie zalogowali. Zdecydowanie wypróbuję słuchacza i 'getRemoteAddr()' zgodnie z sugestią. Dzięki jeszcze raz –

Powiązane problemy