13 April 2017

JSP/Servlet: Hit Counter HttpSessionListener getServletContext Đếm số lượt truy cập

Methods of HttpSessionListener interface

  1. public void sessionCreated(HttpSessionEvent e): is invoked when session object is created.
  2. public void sessionDestroyed(ServletContextEvent e): is invoked when session is invalidated.
Example of HttpSessionEvent
Index.jsp
<form action="servlet1">
Name:<input type="text" name="username"><br>
Password:<input type="password" name="userpass"><br>

<input type="submit" value="login"/>
</form>
MyListener.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 total=0,current=0;   
       
    public void sessionCreated(HttpSessionEvent e) {   
    total++;   
    current++;   
       
    ctx=e.getSession().getServletContext();   
    ctx.setAttribute("totalusers", total);   
    ctx.setAttribute("currentusers", current);   
       
    }   
  
    public void sessionDestroyed(HttpSessionEvent e) {   
        current--;   
        ctx.setAttribute("currentusers",current);   
    }   
  
} 
First.java
 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 First extends HttpServlet {   
public void doGet(HttpServletRequest request, HttpServletResponse response)   
    throws ServletException, IOException {   
  
        response.setContentType("text/html");   
        PrintWriter out = response.getWriter();   
       
        String n=request.getParameter("username");   
        out.print("Welcome "+n);   
           
        HttpSession session=request.getSession();   
        session.setAttribute("uname",n);   
           
        //retrieving data from ServletContext object   
        ServletContext ctx=getServletContext();   
        int t=(Integer)ctx.getAttribute("totalusers");   
        int c=(Integer)ctx.getAttribute("currentusers");   
        out.print("total users= "+t);   
        out.print("current users= "+c);   
           
        out.print("logout");   
           
        out.close();   
    }   
  
}  
Logout.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 {   
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();//invalidating session   
           
        out.print("You are successfully logged out");   
           
        out.close();   
    }   
  
}  

0 nhận xét:

Post a Comment

 

BACK TO TOP

Xuống cuối trang