How Do I Count Number of Online Users | Application Programming Interface | Java Servlet

About

Bookstore

RSS

Email

Follow us

Become a fan

Java Examples
Learn Java Programming by Examples

Home

1. Java SE API
Servlet

2. Java EE API

3. Frameworks

4. Other Libraries

5. Design Patterns

6. IDE / Tools

Search this site...
January 21, 2014 3:27 pm

You are here: Home

 How do I count number of online users?

How do I count number of online users?
Posted by Wayan Saryada on March 16, 2006

1

When you have a web application you might want to know how many users are currently online or connected to your website. If you have visited some of web online forums you can see; usually on the first page; the list of their online users or maybe just the number of currently online users. How do we know / count how many sessions or users are currently connected to our website. Do you care to know? Let’s see what’s Java Servlet API offers us on this matter. Servlet API has an interface javax.servlet.http.HttpSessionListener, an implementation of this interface will have the ability to be notified by the servlet engine at anytime when a new session is created or destroyed. This interface has two methods to be implemented; these methods are sessionCreated(HttpSessionEvent se) and

sessionDestroyed(HttpSessionEvent se). These method will be called as a notification that a new session was created and the
session was about to be destroyed respectively. Now let’s create our session listener. The code below is what our class is going to be implemented. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 package org.kodejava.example.servlet; import javax.servlet.http.HttpSessionEvent; import javax.servlet.http.HttpSessionListener; import javax.servlet.http.HttpSession; import java.util.List; import java.util.ArrayList; public class SessionCounter implements HttpSessionListener { private List sessions = new ArrayList(); public SessionCounter() { } public void sessionCreated(HttpSessionEvent event) { HttpSession session = event.getSession(); sessions.add(session.getId()); session.setAttribute("counter", this); } public void sessionDestroyed(HttpSessionEvent event) { HttpSession session = event.getSession(); sessions.remove(session.getId()); session.setAttribute("counter", this); }
Facebook social plugin

Find us on Facebook

Learn by Examples
Like

119 people like Learn by Examples.

public int getActiveSessionNumber() { return sessions.size(); } }

To display information of current online users we need to create a simple JSP page. This JSP file will get the number of online user from HttpSession attribute named counter that we set in our listener above. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <%@ page import="org.kodejava.example.servlet.SessionCounter" %> <html> <head> <title>Session Counter</title> </head> <body> <% SessionCounter counter = (SessionCounter) session .getAttribute("counter"); %> Number of online user(s): <%= counter.getActiveSessionNumber() %> </body> </html>

The final step to make the listener working is to register it in the web.xml file. Below is the example how to register the listener in

web.xml.
1 <?xml version="1.0" encoding="UTF‐8"?> 2 <!DOCTYPE web‐app 3 PUBLIC "‐//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 4 "http://java.sun.com/dtd/web‐app_2_3.dtd"> Generated with www.html-to-pdf.net 5 6 <web‐app>

Page 1 / 3

example. PHP and Wordpress).servlet. mysql..1 2 3 4 5 6 7 8 9 10 11 12 <?xml version="1.0" encoding="UTF‐8"?> <!DOCTYPE web‐app PUBLIC "‐//Sun Microsystems. View all posts by Wayan Saryada → One Response to "How do I count number of online users?" al August 23. Leave a Reply Name (Required) Mail (will not be published) (Required) Website $30 ­ 250 View Indeed API integration and search bar fix (Java.kodejava.. java. 2013 at 3:40 am Just remember to do the session List static Reply Work from Home Recent Projects Simple Java Programming of Whitepaper Script / Algorithm (Image). Indonesia.com/dtd/web‐app_2_3.html-to-pdf... Inc. $250 ­ 750 Find more projects View Post a Project » Powered by Submit Comment Pages About Bookstore Recent Posts How do I create a simple mail client program in Swing? What are the system properties used for sending email? How do I send an HTML email? Recent Comments Pierre on How do I send email using Gmail via TLS? Preethi on How do I move focus from JTextArea using TAB key? Amit on How do I get operating system temporary directory / folder? Srin on How to monitor file or directory changes? Java Resources Java Language Specification Java SE Technical Documentation Java Tutorials Java EE Technical Documentation Java EE 7 Tutorials Generated with www. natural lang.sun.dtd"> <web‐app> <listener> <listener‐ class> org.//DTD Web Application 2..SessionCounter </listener‐ class> </listener> </web‐app> Related Posts How do I capture session creation and removal events? How do I invalidate user’s session? How do I share object or data between users in web application? How do I get a notification when session attribute was changed? How do I know session last access time? How do I create a hit counter servlet? How do I send a cookie in Servlet? Filed in: Servlet About Wayan Saryada I am a programmer. an open water diver and currently living in the island of Bali.3//EN" "http://java. data mining..net How do I read last n characters from a file? Page 2 / 3 Affiliate Links . €30 ­ 250 View Twitter for CAD cad/cam. a runner.

net Page 3 / 3 . All rights reserved.html-to-pdf. Generated with www.com 50% off hosting plans from GoDaddy! © 2014 Java Examples.How do I send an HTML email? How do I read last n characters from a file? Java SE Installation Tutorial Amit on How do I get operating system temporary directory / folder? Srin on How to monitor file or directory changes? Srin on How to monitor file or directory changes? Java EE 7 Tutorials Affiliate Links Shop Tech Titles on oreilly.

Sign up to vote on this title
UsefulNot useful