# einfaches Problem: Session-Handling bei Servlets



## ernst (12. Jan 2013)

Hallo allerseits,
1)
Ich will ein Servlet (Dmoo) schreiben, das folgendes macht:
Ein Benutzer gibt über ein Formular eine positive Zahl ein und sendet diese an
das Servlet. Dann kann er irgendwann wieder das Formular aufrufen und dasselbe tun.
Wenn er eine negatibe Zahl eingibt, dann werden die bis dahin eingegebenen Zahlen aufseummiert
und an den Benutzer gesendet.
Dies wird benutzerspezifisch gemacht. 
Wenn sich also ein anderer Benutzer anmeldet, werden für ihn Zahlen aufsummiert. 

2)
Dies will ich mit Sessions realisieren, z.B. mit:
HttpSession session = request.getSession(true);
Allerdings werden mir die eingebenen Zahlen, die summiert werden
sollen nicht in einer Variablen (Zwischensumme )gespeichert.
Muss ich diese Zwischensumme in einer  Datei auslagern?
Kann mir jemand weiterhelfen?
Ein paar Codezeilen wären hilfreich.

mfg
ernst


----------



## Marcinek (12. Jan 2013)

Servlets Sessions - Google-Suche


----------



## sence (13. Jan 2013)

```
//Obtain the session object, create a new session if doesn't exist
HttpSession session = request.getSession(true);

      // Get Session Attribute int type
      Integer param = (Integer) session.getAttribute("MySessionVariable");
      if(param != null) {
         // Set Session Attribute int type and increment with 1
        session.setAttribute("MySessionVariable", new Integer(param.intValue() + 1));        
        }else
           session.setAttribute("MySessionVariable", 1);
```


----------



## Stroker89 (13. Jan 2013)

Für den anderen Benutzer der sich einloggt, solltest die Daten in einer Datenbank speichern, damit der auf die Daten des anderen Benutzers zugreifen kann.

Gruß


----------



## sence (13. Jan 2013)

> 1)
> ....
> Dies wird benutzerspezifisch gemacht.
> Wenn sich also ein anderer Benutzer anmeldet, werden für ihn Zahlen aufsummiert.
> ...






Stroker89 hat gesagt.:


> Für den anderen Benutzer der sich einloggt, solltest die Daten in einer Datenbank speichern, damit der auf die Daten des anderen Benutzers zugreifen kann.
> Gruß



Wenn ich es richtig verstehe, sollen die Berechnungen pro Benutzer durchgeführt werden -> kein gemeinsamer Wertspeicher.

Sobald ein neuer Besucher die Webseite betritt wird eine neue Session (sofern du request.getSession(true); aufrufst)
erstellt.
Solange wie diese Session aktiv ist, werden die Werte in der Session für den jeweiligen Nutzer beibehalten.
Willst du diese abhängig zu einem Benutzeraccount persistieren (dauerhaft speichern), dann wie Stroker sagt in einer Datenbank speichern.


----------



## Stroker89 (13. Jan 2013)

Ok für mich hat sich das so angehört, als ob der andere Benutzer die Daten auch sehen soll. Wenn nicht, dann reicht natürlich, wenn du die Daten in der Session ablegst. 

Gruß


----------

