# HttpSessionListener und getAttribut



## java1234567 (4. Jan 2010)

hallo,

ich habe einen filter erstellt. in diesem filter setzte ich in der doFilter methode in die session ein attribute mit folgender anweisung:


```
session.setAttribute("attribut", "true");
```

danach willmich das die session invalidiert wird mit


```
session.invalidated()
```

zusätzlich habe ich noch eine session listener. in der sessionDestroyed methode, die durch das invalidieren aufgerufen wird. dort rufe ich den parameter ab mit 


```
session.getAttribute("attribut");
```

leider erhalte ich immer null! warum? die session id im filter und im listener gleich.

einer ne anhnung woran das liegen kann?

danke und grüße


----------



## SlaterB (4. Jan 2010)

erst mal: keine Ahnung,

zur Fehlereingrenzung: wie sieht die Session sonst aus, komplett leer oder andere Daten von dir noch drin?
wenn jeglicher Bezug fehlt (automatisch gesetzte Ids bringen wenig), dann kann ein x-beliebiger Framework-Fehler schuld sein, den man potentiell nie findet,
ist zwar selten, aber prinzipiell ist das eine Blackbox, zu deren Verhalten man eigentlich gar nix sagen kann

wenn aber doch User-Daten von dir da sind, dann legt das nahe, das speziell dieses Attribut doch von dir irgendwo gelöscht wurde,
teste ganz simpel einen anderen Name
session.setAttribute("attributXY", "true"); 
ist "attributXY" später noch vorhanden? das könnte ja nur gelöscht werden, falls irgendjemand aktiv nach allen Attributnamen schaut und davon löscht,


----------



## java1234567 (4. Jan 2010)

hallo SlaterB,

ich muss noch dazu sagen, dass mir aufgefallen ist, dass es lokal auf dem tomcat von netbeans läuft nur wenn ich es auf dem server deploye geht es nicht. auf dem server läuft eine tomcat 6.0.18 version. kann es sein das mir ein parameter fehlt in einer config datei des tomcats auf dem server? ihrgend einer der was mit der session zu tun hat?

danke


----------



## java1234567 (5. Jan 2010)

hallo,

es liegt tatsächlich an der version des tomcats. lokal hab ich den 6.0.16 auf dem server war die 6.0.20. die 6.0.18 ist auch ok nur die 6.0.20 geht nicht. das scheint nen bug zu sein. 

ich hab nix im inet gefunden dazu. vielleicht kann den fehler aber jemand bestätigen. das ganze läuft auf nem suse 11 und java 1.6.

gruß und danke


----------

