Jag har en databas där jag registrerar användaren som "online" när denne loggar in och vill att när användaren inte är online längre ska registreras som "offline". Har förstått genom en del googlande att man kan sköta detta med sessioner och en servlet som känner av när sessionerna blir "gamla" :) .
Men jag har inte hittat någon vettig sida som går igenom detta tillräckligt för att jag ska hajja! Kan någon hjälpa mig komma igång? :q
Jag kan tyvärr inte prova denna kod men jag tror nog att det ska fungera :)
Skapa en klass med följande kod,
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionActivationListener;
public class SessionEventTest implements HttpSessionActivationListener
{
public void sessionWillPassivate(HttpSessionEvent se)
{
System.out.println("Session "+se.getSession().getId()+" will now be passivated.");
}
public void sessionDidActivate(HttpSessionEvent se)
{
System.out.println("Session "+se.getSession().getId()+" hasl now been activated.");
}
}
När du startar din web applikation så kommer listener klassen att laddas och ligga aktiv under hela applikationens liv och borde, enligt mina teorier :), skriva ut medelanden när en session skapas och när en försvinner.
Hoppas det fungerar :)
Skumt, när jag lägger in koden i web.xml så verkar det som servern inte kör igång (sidorna visas inte) tar jag bort det och startar om så fungerar det.
Filen är kompilerad och lagd i en mapp i web-inf kallad servlets (även utanför servlets för att testa! Vad kan detta bero på?
web.xml ser ut såhär:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<listener>
<listener-class>SessionEventTest</listener-class>
</listener>
</web-app
Om jag har förstått det rätt så ska det automatiskt skapas sessions när man går in på en .jsp sida?
Om så är fallet så händer det nada med SessionEventTest, ska classen automatiskt bara skriva ut i dosfönstret eller? Något annat man behöver?
Om jag har förstått det rätt så ska det automatiskt skapas sessions när man går in på en .jsp sida?
Om så är fallet så händer det nada med SessionEventTest, ska classen automatiskt bara skriva ut i dosfönstret eller? Något annat man behöver?
Ingen?
256 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2