Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to clear the httpsession, if the user close the browser in java

I am trying to clear the HttpSession if the consumer close the browser window. I dont know how to do it, Please help me anyone

Thanks & Regards Chakri

like image 691
chakri Avatar asked Nov 01 '22 22:11

chakri


2 Answers

If you could get the browser to (reliably) notify the server that the user had closed the window, then the server could call session.invalidate() as per the original Answer provided by ejay_francisco.

The difficulty is getting the notification to happen reliably. There are various ways to detect the window close; e.g. as covered by these Questions (and similar):

  • Trying to detect browser close event
  • javascript to check when the browser window is close
  • javascript detect browser close tab/close browser

You could then write the (javascript) close event handler to send a specific request to the server.

However, I don't think any scheme is going to be able to deal with cases where the user's browser dies, the user's machine is shut down, and similar scenarios. So if you need the session to be cleared 100% of the time, then you are probably out of luck. I don't think it can be done.

like image 129
Stephen C Avatar answered Nov 12 '22 13:11

Stephen C


It can be archived in a little diffrent way.

  1. use a javascript event known as "window.onbeforeunload"

    e.g window.onbeforeunload=mylogic_function(); function mylogic_function() { window.location.href = "path to the servlet which inavalidate the session"; }

  2. Have a dedicated servlet which job is only to deactivate the session

Try this ..hope this will work

like image 21
Diptiranjan Sahoo Avatar answered Nov 12 '22 15:11

Diptiranjan Sahoo