Eine Weiterleitung ändert die URL in der Browser-Adressleiste nicht

8

Ich beginne gerade mit Servlets / JSP / JSTL und ich habe so etwas:

%Vor%

und in meiner Methode doPost

%Vor%

aber etwas funktioniert nicht, weil ich so etwas wollte:

  1. Wenn der Benutzer eine aktive Sitzung hatte und im System angemeldet war, sollte "zalogowany"
  2. anzeigen
  3. andernfalls Protokollierungsformular

Das Problem ist, was auch immer ich mache, diese Forwards bringen mich nicht zu index.jsp, welches sich im Root-Ordner meines Projekts befindet, habe ich noch in meiner Adressleiste Projekt / Hai.

    
Andna 10.02.2012, 01:48
quelle

1 Antwort

21

Wenn das wirklich Ihr einziges Problem ist

  

Das Problem ist, was auch immer ich mache, diese Forwards bringen mich nicht zu index.jsp, welches sich im Root-Ordner meines Projekts befindet, habe ich noch in meiner Adressleiste Projekt / Hai.

Dann muss ich dich enttäuschen: das ist vollständig nach Spezifikation. Ein Forward teilt dem Server grundsätzlich mit, dass er die angegebene JSP zur Darstellung der Ergebnisse verwenden soll. Es weist den Client nicht an, eine neue HTTP-Anforderung für die angegebene JSP zu senden. Wenn Sie eine Änderung in der Adressleiste des Clients erwarten, müssen Sie dem Client mitteilen, dass er eine neue HTTP-Anforderung senden soll. Sie können das tun, indem Sie eine Weiterleitung anstelle einer Weiterleitung senden.

Also statt

%Vor%

tue

%Vor%

Eine Alternative ist, die /index.jsp URL vollständig zu entfernen und /Hai URL die ganze Zeit zu verwenden. Sie können dies erreichen, indem Sie die JSP im Ordner /WEB-INF ausblenden (damit der Endbenutzer sie niemals direkt öffnen kann und dazu gezwungen wird, die URL des Servlets zu verwenden) und das doGet() des Servlets implementieren, um die JSP anzuzeigen :

%Vor%

Auf diese Weise können Sie einfach Ссылка öffnen und die Ausgabe der JSP-Seite sehen, und das Formular wird nur an das sehr übergeben gleiche URL, so dass sich die URL in der Browser-Adressleiste grundsätzlich nicht ändert. Ich würde vielleicht nur die /Hai auf etwas sinnvoller ändern, wie /login .

Siehe auch:

BalusC 10.02.2012, 01:58
quelle

Tags und Links