Advertisement
Slapoguzov

var6

Jun 1st, 2015
243
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.39 KB | None | 0 0
  1. import java.io.IOException;
  2. import java.io.PrintWriter;
  3. import java.util.ArrayList;
  4. import java.util.Date;
  5. import java.util.function.Predicate;
  6. import javax.servlet.ServletException;
  7. import javax.servlet.http.HttpServlet;
  8. import javax.servlet.http.HttpServletRequest;
  9. import javax.servlet.http.HttpServletResponse;
  10. import javax.servlet.http.HttpSession;
  11.  
  12. /**
  13.  *
  14.  * @author slapo_000
  15.  */
  16. public class var6 extends HttpServlet {
  17.  
  18.     Date d;
  19.     ArrayList<HttpSession> s = new ArrayList<HttpSession>();
  20.    
  21.     Predicate<HttpSession> isOld = new Predicate<HttpSession>() {
  22.         @Override
  23.         public boolean test(HttpSession t) {
  24.             try
  25.             {
  26.             return ((d.getTime()-t.getLastAccessedTime())) > 6000;
  27.             }
  28.             catch(IllegalStateException e)
  29.             {
  30.                return true;
  31.             }
  32.         }
  33.     };
  34.     protected void processRequest(HttpServletRequest request, HttpServletResponse response)
  35.             throws ServletException, IOException {
  36.         response.setContentType("text/html;charset=UTF-8");
  37.         int i;
  38.         //refresh date
  39.         d = new Date();
  40.         //delete old session
  41.         s.removeIf(isOld);
  42.         //if the current session exists in list
  43.         //delete the cur session
  44.         if((i = s.indexOf(request.getSession())) > -1)
  45.            s.remove(i);
  46.         s.add(request.getSession());
  47.         try (PrintWriter out = response.getWriter()) {
  48.             out.println("<!DOCTYPE html>");
  49.             out.println("<html>");
  50.             out.println("<head>");
  51.             out.println("<title>Servlet var6</title>");            
  52.             out.println("</head>");
  53.             out.println("<body>");
  54.             out.println("<b>Count Sessions:" + Integer.toString(s.size()) + "</b>");
  55.             out.println("</body>");
  56.             out.println("</html>");
  57.         }
  58.     }
  59.  
  60.     @Override
  61.     protected void doGet(HttpServletRequest request, HttpServletResponse response)
  62.             throws ServletException, IOException {
  63.         processRequest(request, response);
  64.     }
  65.  
  66.  
  67.     @Override
  68.     protected void doPost(HttpServletRequest request, HttpServletResponse response)
  69.             throws ServletException, IOException {
  70.         processRequest(request, response);
  71.     }
  72.  
  73.     @Override
  74.     public String getServletInfo() {
  75.         return "Short description";
  76.     }// </editor-fold>
  77.  
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement