Click here to watch in Youtube : https://www.youtube.com/watch?v=fv8Idtevcg0
Click the below Image to Enlarge
HttpSessionListenerDemo Project Dir Structure
import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; public class LoginServlet extends HttpServlet { private static final long serialVersionUID = 1L; public void init() throws ServletException { System.out.println("-----------------------------------------"); System.out.println(" Init method is called in " + this.getClass().getName()); System.out.println("--------------------------------------"); } public void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); String userName = request.getParameter("username"); out.print("Welcome " + userName); HttpSession session = request.getSession(); session.setAttribute("uname", userName); ServletContext ctx = getServletContext(); int totalUsers = (Integer) ctx.getAttribute("totalusers"); int currentUsers = (Integer) ctx.getAttribute("currentusers"); out.print("<br>total users= " + totalUsers); out.print("<br>current users= " + currentUsers); out.print("<br><a href='logout'>logout</a>"); out.close(); } public void destroy() { System.out.println("-----------------------------------------"); System.out.println(" destroy method is called in " + this.getClass().getName()); System.out.println("-----------------------------------------"); } }
LogoutServlet.java
import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; public class LogoutServlet extends HttpServlet { private static final long serialVersionUID = 1L; public void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); HttpSession session = request.getSession(false); session.invalidate(); out.print("You are successfully logged out"); out.close(); } }
CountUserListener.java
import javax.servlet.ServletContext; import javax.servlet.http.HttpSessionEvent; import javax.servlet.http.HttpSessionListener; public class CountUserListener implements HttpSessionListener { ServletContext ctx = null; static int totalUserCount = 0, currentUserCount = 0; public void sessionCreated( HttpSessionEvent httpSessionEvent ) { System.out.println("sessionCreated method has been called in " + this.getClass().getName()); totalUserCount++; currentUserCount++; ctx = httpSessionEvent.getSession().getServletContext(); ctx.setAttribute("totalusers", totalUserCount); ctx.setAttribute("currentusers", currentUserCount); } public void sessionDestroyed( HttpSessionEvent httpSessionEvent ) { System.out.println("sessionDestroyed method has been called in " + this.getClass().getName()); currentUserCount--; ctx.setAttribute("currentusers", currentUserCount); } }
web.xml
<?xml version="1.0" encoding="ISO-8859-1"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" metadata-complete="true" version="3.0"> <display-name>HttpSessionListenerDemo</display-name> <description> This is a simple web application with a source code organization based on the recommendations of the Application Developer's Guide. </description> <servlet> <servlet-name>LoginServlet</servlet-name> <servlet-class>LoginServlet</servlet-class> </servlet> <servlet> <servlet-name>LogoutServlet</servlet-name> <servlet-class>LogoutServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>LoginServlet</servlet-name> <url-pattern>/login</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>LogoutServlet</servlet-name> <url-pattern>/logout</url-pattern> </servlet-mapping> <listener> <listener-class>CountUserListener</listener-class> </listener> </web-app>
index.html
<form action="login"> Name:<input type="text" name="username"><br> Password:<input type="password" name="password"><br> <input type="submit" value="login" /> </form>
Environment Used
JDK version :1.7.0_51
Tomcat version : 7.0.50
To Download HttpSessionListenerCountUserDemoApp Project Click the below link
https://sites.google.com/site/javaee4321/servlets/HttpSessionListenerCountUserDemoApp.zip?attredirects=0&d=1
See also:
No comments:
Post a Comment