Toon posts:

[JAVA] Object wordt niet meegenomen in HttpSession object

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
SITUATIE:
  • webpagina mbv Java - JSP - Servlets - Hibernate
  • op localhost : alles ok
  • op tomcatserver (tomcatmanager)(online):
    • site vanop de tomcatserver rechtstreeks starten ==> alles ok
    • site via www. ______ .be volgende probleem:
      • een object wordt gelezen uit de database.
      • dit object wordt op de session geplaatst. Maar in dit geval lukt dit niet.
Met volgende zaken rekening gehouden:
  • - object dat op Session komt "implements Serializable"
  • - mogelijkheid van geen cookies
:
Java:
1
2
        String encodedUrl = response.encodeURL("abc.jsp");
        request.getRequestDispatcher(encodedUrl).forward(request, response);
  • - session is lang genoeg actief:
XML:
1
2
3
4
5
        <session-config>
              <session-timeout>
                    60
              </session-timeout>
         </session-config>

Iemand een idee waar ik de mist in ga?
Waarom lukt het wel als ik op tomcat manager de site rechtstreeks start en niet via de URL?
En vooral, een suggestie naar oplossing?

Thanx !

Acties:
  • 0 Henk 'm!

  • BalusC
  • Registratie: Oktober 2000
  • Niet online

BalusC

Carpe diem

Start de debugger en volg de HttpSession instantie waarop je het attribuut hebt gezet. Volg wat er gebeurt er met de HttpSession instantie (dezelfde ID? wordt die niet invalidated en vervangen in een of andere filter? etc) en met diens attributen (blijven ze intact? worden ze overgeschreven of verwijderd? etc) tijdens het hele proces.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ik vermoed dat het iets te maken heeft met de bereikbaarheid van de sessionId over verschillende (sub)domeinen heen.

Wanneer ik de site opstart via de tomcatmanager ==> 'domain.be:50049/verwijzing' loopt het wel perfect.
Vanaf ik via www.domain.be of domain.be ga dan loopt het mis.

In de servlet wordt een session aangemaakt (en cookie wordt geplaatst). De JSP naar waar verwezen wordt geeft info ondermeer uit data op session, maar de sessionid-cookie is al niet meer bereikbaar.

Zou dit enigszins kunnen kloppen? En hoe maak ik die SessionId-cookies bereikbaar op alle subdomeinen?

Acties:
  • 0 Henk 'm!

  • CubicQ
  • Registratie: September 1999
  • Laatst online: 22:43
In je verhaal zie ik je twee verschillende dingen vertellen:
- Het lukt niet om een object op de sessie te plaatsen
- Je vermoed dat het ligt aan het feit dat het JSESSION cookie niet wordt teruggegeven.

Dat zijn twee compleet verschillende dingen die eigenlijk niets met elkaar te maken hebben. Dus: wat is het nou? :)

Het tweede kan je controlleren door:
- Kijk met behulp van een HTTP sniffer, bijvoorbeeld ieHTTPHeaders of LiveHTTPHeaders, of het cookie goed gezet wordt, en of hij teruggestuurd wordt.
- Werkt het wel wanneer je cookies in je browser uitzet

Acties:
  • 0 Henk 'm!

  • BalusC
  • Registratie: Oktober 2000
  • Niet online

BalusC

Carpe diem

CubicQ schreef op zondag 23 november 2008 @ 16:27:
In je verhaal zie ik je twee verschillende dingen vertellen:
- Het lukt niet om een object op de sessie te plaatsen
- Je vermoed dat het ligt aan het feit dat het JSESSION cookie niet wordt teruggegeven.
De sessie is gekoppeld aan die cookie. Als de cookie niet gevonden kan worden en de gebruiker van de sessie dus niet kan worden geidentificeerd, dan wordt een nieuwe sessie aangemaakt, waardoor de vorige sessie verloren gaat, incluis de attributen.

Acties:
  • 0 Henk 'm!

  • CubicQ
  • Registratie: September 1999
  • Laatst online: 22:43
Ja, dat snap ik :), maar het niet op kunnen halen van een object van een sessie (in een nieuw request) is iets anders dan het niet kunnen plaatsen van een object op een sessie.

Dat laatste lijkt me overigens in een normale situatie best lastig om voor elkaar te krijgen.

En ja, ik geef toe: ik was misschien een beetje aan het mierenneuken, maar dit ik hoop hiermee de OP te triggeren om het achterliggend concept van sessies beter te doorgronden. Want het lijkt erop dat de OP in eerste instantie naar een verkeerd iets zat te zoeken.

Acties:
  • 0 Henk 'm!

  • BalusC
  • Registratie: Oktober 2000
  • Niet online

BalusC

Carpe diem

Ah ja, van een ander perspectief bekeken denk ik dat de topicstarter de statement "lukt niet" inderdaad beter mag omschrijven.
Pagina: 1