1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

jsp Problem

  • Eristoff
  • 7. März 2005 um 13:33
  • Unerledigt
  • Eristoff
    9
    Eristoff
    Mitglied
    Reaktionen
    1
    Punkte
    886
    Beiträge
    127
    • 7. März 2005 um 13:33
    • #1

    hallo!

    ich hab ein riesiges problem, das ich so schnell wie möglich lösen muss. ich hoffe ihr könnt mir helfen:

    ich habe eine jsp anwendung.
    wenn sich ein user anmeldet, will ich die userdaten (und andere daten (objekte)) in seiner session speichern. das hab ich bisher so gemacht:
    request.getSession().setAttribute("testobjekt", userDaten);
    bzw. request.getSession().getAttribute("testobjekt")

    mein Problem: sobald sich ein 2. User anmeldet, werden die Daten des ersten User überschrieben.

    bsp:
    user A meldet sich an; startet eine Antragstellung; gibt seine Antragsdaten ein (verteilt über mehrere Masken - Eingaben werden ebenfalls über request.getSession().setAttribute.. zwischengespeichert); während der Dateneingabe von User A meldet sich User B an; Userdaten von A werden überschrieben; A drückt speichern; Antrag wird als Antrag des Users B gespeichert; (User A ist nun auch als User B eingeloggt).

    ich hoffe es ist halbwegs verständlich!

  • JohnFoo
    20
    JohnFoo
    Mitglied
    Reaktionen
    61
    Punkte
    4.231
    Beiträge
    761
    • 7. März 2005 um 13:56
    • #2

    Soweit ich den Code sehe müsste er in Ordnung sein. Kann es sein, dass du in der selben Instanz des Browsers die zweite Registrierung durchführst und deshalb die selbe Sesseion genutzt wird?

  • Eristoff
    9
    Eristoff
    Mitglied
    Reaktionen
    1
    Punkte
    886
    Beiträge
    127
    • 7. März 2005 um 17:01
    • #3

    nein, leider ist es nicht so!

    vielleicht hilft eine noch genauere erklärung:
    auf der einen seite habe ich jsp files. in ihnen werden attribute wie oben beschrieben abgefragt und gesetzt.
    request.getSession().setAttribute("testobjekt", userDaten);
    bzw. request.getSession().getAttribute("testobjekt")

    hinter jedem jsp file steht eine Action Klasse (über struts verknüpft). in der perform methode greife ich dann folgendermaßen auf die attribute zu:

    public ActionForward perform(ActionMapping mapping, ActionForm form, HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException
    {
    req.getSession().getAttribute("testobjekt");
    req.getSession().setAttribute("testobjekt", userDaten);
    ...
    }
    mein problem:
    sind 2 benutzer gleichzeitig im system, überschreibt benutzer 2 die attribute von benutzer1.
    wenn ich mir über request.getSession().getId() die sessionid ausgeben lasse - ist sie für jeden benutzer verschieden.

    ich verzweifle schön langsam!!!

  • Usher
    9
    Usher
    Mitglied
    Punkte
    830
    Beiträge
    149
    • 7. März 2005 um 17:12
    • #4

    testest Du eh mit 2 unterschiedlichen Browsertypen (z.B. IE und Opera)?

    Zitate, Aphorismen und Lebensweisheiten - Zitate - Sprüche - DNS Lookups mit Speed Anzeige - Newsletter Anmeldungen

  • Eristoff
    9
    Eristoff
    Mitglied
    Reaktionen
    1
    Punkte
    886
    Beiträge
    127
    • 7. März 2005 um 17:20
    • #5

    ja, ich habs mit dem ie und dem mozilla getestet.

    außerdem wurde es auch schon verteilt "getestet".
    ein user stieg in kärnten ein, stellte seinen antrag und wurde während der antragstellung aber zu einem wiener (der ebenfalls in die anwendung einstieg).

  • Usher
    9
    Usher
    Mitglied
    Punkte
    830
    Beiträge
    149
    • 7. März 2005 um 17:29
    • #6

    da hilft nur noch debuggen.
    an jeder stelle wo du zugriff aufs session objekt hast, und auch nur der Hauch eines verdachtes einer änderung besteht, in einem log die Session-daten ausgeben lassen, um zu sehen wo das Überschreiben stattfindet.
    wenn die ids verschieden sind, müssen die daten der beiden user beim debuggen ja auch verschieden sein...

    Zitate, Aphorismen und Lebensweisheiten - Zitate - Sprüche - DNS Lookups mit Speed Anzeige - Newsletter Anmeldungen

  • Maximilian Rupp 27. Dezember 2024 um 12:06

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Rechtliches

Impressum

Datenschutzerklärung