7. Februar 2012  
  Suche:
 
  Basics
  Code-Galerie
  Forum
  FAQ
  Tipps & Tricks
  Literatur
  Knowledge Base
  Workshops
  JSP-Hosting
  JSP-Engines
  Jobbörse
  Links
  JSP-Sites
  Newsletter
  JSP-Test
  Impressum
  Username:
  
  Passwort:
  
  

  Jetzt registrieren
  Warum registrieren?

  Valid HTML 4.01!
  Valid CSS!
Forum

Sessionvariable
 Dirk, 18.09.2001 14:13:27

Wenn ich auf einer JSP-Seite mit 'session.putValue("Name",Wert)' einen Wert definiere, kann ich diesen Wert im Internetexplorer (5.0) ohne Probleme auf einer anderen Seite mit session.getValue("NameDerVAriablen") wieder auslesen. In meinem Fall wurde die andere Seite mit response.sendRedirect("AndereSeite.jsp") aufgerufen.

Wenn ich dieselben Seiten auf dem Netscape-Navigator laufen lasse, werden die Sessionvariablen nicht übergeben.

Weiß jemand woran das liegen kann?


Zum Antworten auf einen Beitrag müssen Sie registriert und angemeldet sein.


Re: Sessionvariable
 Marc, 18.09.2001 17:05:38

Wahrscheinlich sind bei deinem Netscape die Cookies deaktiviert. Der richtige Weg für den Redirect ist : response.sendRedirect(response.encodeRedirectURL("AndereSeite.jsp")),
dann wird bei Deaktivierten Cookies die Session-ID über die URL übertragen (siehe auch hier unter Tipps und Tricks).


Zum Antworten auf einen Beitrag müssen Sie registriert und angemeldet sein.

Re: Re: Sessionvariable
 Dirk, 18.09.2001 17:40:12

Hallo Marc,

vielen Dank für die prompte Antwort. An den Cookies lag es nicht (Alle aktiviert). Auch das Einfügen von 'response.sendRedirect(response.encodeRedirectURL("AndereSeite.jsp"))' hat nicht geholfen. Dafür hat aus Tipps und Tricks <jsp:forward page="AndereSeite.jsp" /> wunderbar funktioniert. Ich kann es mir zwar nicht erklären, bin aber glücklich.

Bis dahin
Dirk


Zum Antworten auf einen Beitrag müssen Sie registriert und angemeldet sein.


Unterschied zwischen Forward und sendRedirect()
 Geronimo, 20.09.2001 18:10:21

Die beiden Statements <jsp:forward> und response.sendRedirect() scheinen zunächst recht ähnlich zu sein. Beide ermöglichen, den User zu einer anderen Seite (z.B. JSP, Servlet, Web-Page) zu schicken als die, die er ursprünglich angefordert hat.

Der <jsp:forward>-Tag leitet serverseitig das HttpServletRequest-Objekt mit allen gesetzten Parametern an die neue Zielseite weiter, d. h. alle Parameter sind auf der neuen Page verfügbar. Bei Verwendung von response.sendRedirect() gehen alle Parameter verloren.

response.sendRedirect() hingegen sendet einen Redirect HTTP Code 301 mit der neuen URL zurück an den Browser. Der Browser(!) sendet dann einen Request mit der neuen URL an den Server. response.sendRedirect() ist daher gegenüber <jsp:forward> erheblich inperformanter.

Die Verwendung von response.sendRedirect() ist wegen der Nachteile in Performanz und Dynamik eigentlich nur dann sinnvoll, wenn sich die Root-URL einer Page geändert hat. Browser (bzw. Crawler, Search Engines usw.) können dadurch automatisch die verzeichnete URL ändern. Für das normale dynamische Verzweigen innerhalb einer Anwendung ist immer <jsp:forward> zu bevorzugen.

Ob der Erhalt oder das Verwerfen der Session nach sendRedirect() spezifiziert ist, weiss ich nicht mit Sicherheit zu sagen. Gefühlsmäßig müsste sie erhalten bleiben, aber in jedem Fall würde ich mich nicht darauf verlassen. Also möglichst keine Parameter an die Session hängen um sie nach dem sendRedirect() auszuwerten. Lieber <jsp:forward> benutzen und die Parameter soweit möglich und nicht in der Session nötig an den Request hängen.

Geronimo


Zum Antworten auf einen Beitrag müssen Sie registriert und angemeldet sein.


Legende: Anonymer User     registrierter User     sehr aktiver User

<< zurück 


Hinweis: Auf dieser Seite liegen Links zu anderen Seiten im Internet. Für alle diese Links gilt: Wir betonen ausdrücklich, daß wir keinerlei Einfluß auf die Gestaltung und die Inhalte der gelinkten Seiten haben. Deshalb distanzieren wir uns hiermit ausdrücklich von allen Inhalten aller gelinkten Seiten auf dieser Homepage und machen uns ihre Inhalte nicht zueigen. Diese Erklärung gilt für alle auf unserer Homepage angebrachten Links

Redaktion/Betreiber von JSP-Develop übernehmen keinerlei Gewährleistung und Verantwortung für die Richtig- und/oder Vollständigkeit von den auf den Webseiten JSP-Develop veröffentlichten Source Codes. Die Verantwortung der Verwendung/Anwendung sowie etwaige Modifikation der hier veröffentlichten Sourcen obliegt einzig dem Benutzer der Webseite, welche die veröffentlichten Sourcen in einer Applikation/Anwendung einsetzt. Durch das Kopieren und/oder Benutzen der Sourcen in einer Applikation/Anwendung bzw. etwaigen Abschriften wird dieser Rechtshinweis anerkannt.

Java, JSP, JavaServer Pages, J2EE, EJB, JDBC, JNDI, JTA, Sun, Sun Microsystems are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and in other countries. IBM, WebSphere are trademarks or registered trademarks of International Business Machines Corporation. Other trademarks and registered trademarks are the property of their respective owners.