einfaches Problem: Session-Handling bei Servlets

ernst

Top Contributor
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
 
Java:
//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);
 
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ß
 
1)
....
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?


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.
 
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ß
 

Zurück
Oben