# aktuelle HttpSession ermitteln



## pi31415 (29. Dez 2011)

Guten Morgen!


```
public class Klasse_1{
  [...]
  public Element methode_1(Properties servletProps){
    [...]
    servletProps.setProperty("Ziel", "Eigenschaften aus dem Properties-Objekt in session-Variablen bekommen");
    //Übergebenes Properties-Objekt nach belieben ändern

    meine_session=[...]
    //Hier ist der Knackpunkt -> Wie finde ich mein session-Objekt!?

    Enumeration keys = servletProps.keys();
    while (keys.hasMoreElements()) {
      meine_session.setAttribute(
      [...]
    }
    //Die Eigenschaften des Properties-Objekts in Session-Attribute schreiben

    [...]
    return Element;
  }
  [...]
}
```

Das Projekt ist so groß das ich mir alleine unmöglich einen Überblick verschaffen kann.
Durch Logfiles kann ich aber sagen, dass Klasse_1.methode_1 der Punkt ist wo ich meinen eigenen Code anbringen muss.
Der Code muss Attribute einer bestehenden Session ändern können.
Klasse_1 wird kein HttpSession-Objekt, o.Ä., übergeben, also muss ich irgendwie die Aktuelle Session bestimmen.

In servletProps steckt jedoch folgendes Wertepaar:
[...]
session_sessionid,	D703FE7B172AAEEDF3D6736BB6CBE6E6.tc1 
[...]

Damit müsste man doch bestimmt innerhalb der methode_1 die aktuelle session manipulieren können, was ja evtl auch leichter geht.

LG,
pi


----------



## Noctarius (29. Dez 2011)

Also aus dem bisschen Code kann dir sicher keiner erklären wie du da an die Session kommst. Weder erwähnst du ob ein Framework wie Spring oder so genutzt wird, noch wo die Methode aufgerufen wird, noch ...

Quasi ist der Code so sinnfrei.


----------



## pi31415 (29. Dez 2011)

```
import javax.servlet.http.HttpSession;
```

Das habe ich wohl vergessen.
Und das ganze ist mit Spring MVC gebaut.

*Wie kann ich aus einem Objekt heraus, dem keine Referenz auf ein HttpSession Objekt übergeben wird, auf das aktuelle (oder ein spezielles) HttpSession Objekt zugreifen?
Als Referenz habe ich die session-id zur verfügung.*

*Ich denke das für diese Frage kein Code nötig ist.*
Ich will/kann/darf keine anderen Klassen verändern (aus Patch Gründen etc.).
Daher will ich das Problem isoliert in der Klasse_1.methode_1 lösen!

LG,
Jan


----------



## Andgalf (29. Dez 2011)

Let me google that for you


----------

