JSP Session verloren bei DNS Servernamen & IE

crashfinger

Mitglied
Hallo zusammen!

Ich habe folgendes Problem:
In meiner Firma laufen jede Menge JSP-Anwendungen. Diese werden z.Z. über die IP der jeweiligen Tomcat-Server aufgerufen - funktioniert auch wunderbar.
Nun wurden für diese Server DNS-Namen vergeben und der Aufruf der Anwendungen sollte jetzt über den DNS-Namen erfolgen.

Firefox-User haben damit auch keine Probleme, aber User die den IE nutzen.
Bei IE-Usern geht beim Aufruf einer JSP-Seite die Session verloren und damit auch alle Daten der session-basierenden Beans.

Hat jemend hiermit erfahrung?

Server: Apache Tomcat/6.0.18
JVM: 1.6.0_10-b33

Gruß
Crash
 
Zuletzt bearbeitet:

tagedieb

Top Contributor
Pruef mal wann und wo das JSESSIONID Cookie gesetzt/geloescht/veraendert wird. Im IE9 kannst du das mit dem 'Developer Tool' (mit F12) analysieren.
 

crashfinger

Mitglied
Beim Aufruf jeder neuen Seite wird eine neue Session-ID erzeugt.

Hier ein Code-Beispiel für zwei JSP-Seiten die Informationen zur Session anzeigen

index.html
HTML:
<html>
	<head><title></title></head>
	<frameset id="base"  cols="600, *"	 cols="*" frameborder="no" border="0" framespacing="0">
		<frame name="frame1" src="page1.jsp">
		<frame name="frame2" src="page2.jsp">
	</frameset>
	<noframes></noframes>
</html>

page1.jsp
HTML:
<%@page errorPage="errorPage.jsp" %>
<html>
	<head><title>page1.jsp</title></head>
	<body>
		<form method="post" action="page2.jsp" target="frame2"><input type="submit"></form>
		<p>session-object</p>
		<table style="border-style: none; margin-top: 10px;">
			<tbody>
				<tr><td>Id</td><td><%=session.getId() %></td></tr>
				<tr><td>CreationTime</td><td><%=session.getCreationTime() %></td></tr>
				<tr><td>MaxInactiveInterval</td><td><%=session.getMaxInactiveInterval() %></td></tr>
				<tr><td>ServletContext</td><td><%=session.getServletContext() %></td></tr>
			</tbody>
		</table>
	</body>
</html>

page2.jsp
HTML:
<%@page errorPage="errorPage.jsp" %>
<html>
	<head><title>page2.jsp</title></head>
	<body>
		<form method="post" action="page1.jsp" target="frame1"><input type="submit"></form>
		<p>session-object</p>
		<table style="border-style: none; margin-top: 10px;">
			<tbody>
				<tr><td>Id</td><td><%=session.getId() %></td></tr>
				<tr><td>CreationTime</td><td><%=session.getCreationTime() %></td></tr>
				<tr><td>MaxInactiveInterval</td><td><%=session.getMaxInactiveInterval() %></td></tr>
				<tr><td>ServletContext</td><td><%=session.getServletContext() %></td></tr>
			</tbody>
		</table>
	</body>
</html>

Durch anklicken des Submit-Buttons wird jeweils die andere Seite neu aufgerufen.
Im IE ändert sich jedes Mal die SessionID - beim Firefox bleibt sie erhalten.
Bedingung hierfür: Der Server wird über einen DNS Namen aufgerufen, bei aufruf über die IP des Servers bleiben bei beiden Browsern die SessionID's erhalten.
 
Zuletzt bearbeitet:

tagedieb

Top Contributor
Wie gesagt es waere interessant zu wissen, welche Cookies der Browser mitschickt und wann das Cookie geloescht/ueberschrieben wird.

Wie sieht die Infrastruktur aus? Greifst du direkt auf den Server zu oder via WebServer (Apache)? Gibt es einen Proxyserver dazwischen?
 

crashfinger

Mitglied
Im Moment greife ich direkt auf den Tomcat zu. Später erfolgt der zugriff über einen Domio-Webserver auf dem ein CMS läuft.

Wie bekomme ich raus welche Cookies mitgeschickt werden?
 

tagedieb

Top Contributor
Der IE ist leider nicht so Entwicklerfreundlich. Aber I'm IE9 gibts das DeveloperTool (F12), damit kannst du die Kommunikation zwischen Browser und Server mitverfolgen. Du kannst die Headerinformationen wie auch den Content jedes Requests und Response ansehen. Damit solltest du rausfinden können wann und wo genau der Browser das Cookie verliert.
 
N

nillehammer

Gast
Ich vermute, dass in den Actions Deiner Formulare die IP-Adresse des Servers erscheint. Wenn Du nun die DNS-Adresse im Adressfeld eingibst, aber beim Submit der Request an die IP-Adresse gesendet wird, denkt der IE, dass es sich um einen Request zu einem anderen Server handelt und schickt dementsprechend die Session-Daten nicht mit. Der FF ist da wohl schlauer.

Kontrollier darum bitte mal den gerenderten HTML-Output. Falls meine Vermutung richtig ist, meld Dich nochmal.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Gleiche Session von EJB Container in JSF Container verwenden? Web Tier 21
R Session löschen Web Tier 3
J Session ist nach Klick auf Zurück-Button wieder aktiv Web Tier 3
jann Servlet Bei jedem Request wird eine neue Session erstellt. Web Tier 6
J Session Servlet - JavaScript Web Tier 6
M Session closed - und nun? Web Tier 1
F JSF synchronized(session) Frage ? Web Tier 1
F JSF p:selectOneMenu Session Web Tier 10
T JSF Problem wenn Session abgelaufen ist Web Tier 6
Q JSF bei Session-Timeout Weiterleitung auf spezielle Login-Seite Web Tier 15
D JSF Überprüfen der Session ID in JSF und JAVA Web Tier 9
R Servlet Resource laden für SMTP - Session Web Tier 4
B JSF Mojarra 2.1.5: java.lang.IllegalStateException: Cannot create a session after the response has been Web Tier 7
R JSF Session Handling Web Tier 3
X JSP Auslesen der Daten einer Session Web Tier 3
X Managed Bean Scope zwischen Request und Session gesucht Web Tier 6
C session trackung auf einfacher web-site Web Tier 17
F JSF Session-Kolision Web Tier 3
R Zugriff auf Session direkt auf JSF-Seite Web Tier 2
H JSF Session Initialisierung Web Tier 2
E JSP Browser Tab Session Web Tier 7
F Session Tutorial Web Tier 5
T JSP Session Login - Sicherheit Web Tier 4
J Loginbereich mit Session und Datenbank Web Tier 5
M 2 Cookies in der session (cocoon 2.2) Web Tier 4
F Richtiges Session Management mit Servlets Web Tier 4
P JSP: Liste in Bean über Session aufbauen Web Tier 6
7 Struts+AJAX- Session-Handling? Web Tier 2
B JSF session bean mit worker thread updaten Web Tier 7
J Crash bei session timeout Web Tier 3
M session Speicherort - ID ändern Web Tier 8
V ANFÄNGER : eigene Session Web Tier 3
V DatenbankConnection an Session hängen Web Tier 4
P session.removeAttribute Web Tier 3
K Orientierungslosigkeit: Webservice+Ajax(echo2)+Session-Management Web Tier 4
O struts - Gültigkeit einer Action an Session binden?! Web Tier 4
D JSF: Best Practice "Session invalidate nach Schließen des Browsers"? Web Tier 3
T Unbegrenzte Session Web Tier 14
D tapestry 5 session Web Tier 2
J Struts 2 session ID auslesen? Web Tier 5
M [J2EE] Session-Save Static-Objects? Web Tier 6
S Problem mit Session - Übergabe von Kontext zu Kontext Web Tier 2
F JSF: Beans in Session oder Request? Web Tier 4
H JSF - Bean (scope session) - Verfallsdatum? Web Tier 3
T Problem bei Session-Timeout Web Tier 3
M JSF refresh vs. session scope Web Tier 9
G Session in Servlet Starten und mit JSTL auslesen Web Tier 2
G Servlet - Von Parametern umstellen auf Session Web Tier 8
G jsf session erstellen Web Tier 10
rambozola session attribut in servlets und jsps Web Tier 11
M JSF session.invalidate() klappt nicht Web Tier 3
G Session.invalide() funktioniert nicht richtig Web Tier 2
T JSF Primefaces: selectedvalue von "selectmanyCheckbox" geht verloren Web Tier 0

Ähnliche Java Themen

Neue Themen


Oben