Redirect nach Aufruf einer JSP

Status
Nicht offen für weitere Antworten.

FlyingHirsch

Mitglied
Hallo. :)

Ich bräuchte bitte Hilfe bei folgendem Problem.

Der User loggt sich aus der Applikationn aus... und wird dann auf http://192.168.2.42/logout.do weitergeleitet.

Das funktioniert auch alles so, wie ich mir das vorgestellt hab.

Wenn der User nun F5/Aktualisieren drückt, oder die o.g. URL im Browser aufrufen sollte, stelle ich mir einen Redirect auf die Startseite vor, also http://192.168.2.42/home.do

In meiner struts-config.xml hab ich für die Logout-JSP folgenden Eintrag, evtl. ist dies für die Problemlösung wichtig:

<action path="/logout" type="bar.foo.struts.action.LogoutAction">
<forward name="showLogout" path="/WEB-INF/jsp/pages/logout.jsp" />
</action>

Vielen Dank und schöne Grüße
FlyingHirsch
 
M

maki

Gast
Nun, deine JSP liegt unter WEB-INF, d.h. dass der User sie nie direkt aufrufen kann, sondern nur über den Umweg über den Controller. Letzterer (oder ein Filter) kann ja prüfen ob eine gültige Session vorhanden ist und wenn nicht, zur Login Seite Umleiten.
 

FlyingHirsch

Mitglied
Hi,

da fällt mir grad ein, würde mein Vorhaben auch mit "response.sendRedirect()" funktionieren?

Edit: also quasi so:

<%
String destination ="/jsp/destination.jsp";
response.sendRedirect(response.encodeRedirectURL(destination));
%>
 
Zuletzt bearbeitet:

FlyingHirsch

Mitglied
Hey. :)

Habs jetzt mittlerweile so gelöst:

public class LogoutAction extends Action {

public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {

HttpSession session = request.getSession();
if (session.getAttribute("login.username") == null) {
return mapping.findForward("showlogin");
} else {
return mapping.findForward("showlogout");
}
}
}


Das funktioniert aber leider auch nur so wie ich das will, solange man nicht eingeloggt ist.

Das jetztige Problem: Ich bin eingeloggt, klicke auf Logout ... und die Session wird nich zerstört... (die Session wird in ner JSP-Datei zerstört...)

Hm... any ideas? :)
 

HLX

Top Contributor
Das jetztige Problem: Ich bin eingeloggt, klicke auf Logout ... und die Session wird nich zerstört... (die Session wird in ner JSP-Datei zerstört...)

Hm... any ideas? :)

Die Session sollte nicht in der JSP-Datei zerstört werden, sondern in einer Action. Da du schon Struts verwendest, solltest du versuchen das MVC-Prinzip einzuhalten und Anwendungslogik aus den JSP-Seiten fern zu halten.

Die von dir implementierte Gültigkeitsabfrage einer Session sollte grundsätzlich bei jedem Aufruf durchgeführt werden. Hier gibt es zwei Möglichkeiten:
1. Du erstellst eine Basis-Actionklasse (abgeleitet von Action), von der alle deine anderen Actions erben Die Basis-Actionklasse stellt die Gültigkeitsabfrage zur Verfügung
2. Du verwendest einen Servlet-Filter, der vor Erreichen aller Actions die Gültigkeitsabfrage durchführt und per RequestDispatcher abzweigt
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
E CSS wird nach RequestDispatcher.redirect nicht mehr geladen Web Tier 7
D Redirect führt zu seltsamen CSS-Verhalten Web Tier 8
A redirect mit servlet-mapping in web.xml Web Tier 4
S JSF Login mit redirect Web Tier 1
J JSF Kein Methodenaufruf mit Button möglich durch PhaseListener (redirect) Problem? Web Tier 2
J JSF Redirect aufgrund expression Bedingung Web Tier 2
S JSF Probleme beim redirect im ExceptionHandler Web Tier 2
I Redirect im Phase Listener Web Tier 6
N Wie mache ich in einer xhtml (JSF) einen redirect? Web Tier 3
M JFS 2 / 403 forbidden - redirect Web Tier 2
I HTML nach Image Web Tier 1
F Formular nach erfolgreichem Login ausblenden Web Tier 0
J Session ist nach Klick auf Zurück-Button wieder aktiv Web Tier 3
N RequestDispatcher: include-Aufruf einer jsp scheitert nach mehreren forward-Aufrufen Web Tier 1
J Suche nach einem Webframework Web Tier 5
A Faces Context nicht mehr erreichbar nach Servlet Aufruf Web Tier 1
S Rendern einer Komponente nach actionListener Web Tier 2
A Wartezeit nach Tomcat start wegen Servlets zu hoch Web Tier 2
F JSF - Submit nach Validation-Failed Web Tier 6
W JSF Komisches Verhalten nach Login per Realm Web Tier 4
J Nach SVN-Update alle Beans resolved to null Web Tier 3
V JSF oncomplete-Attribut nach action-Attribut auswerten Web Tier 3
K JSP String[] Array nach Javascript Web Tier 4
M JSF Dialog nur nach erfolgreicher Action schließen Web Tier 4
R Errorpage nach ViewExpiredException Web Tier 7
T Seam-Komponenten oder Java Bean soll direkt nach Appserver-Start "leben" Web Tier 4
P JSF Ajax refresh nach Linkklick Web Tier 4
M JSF Kein Zugriff auf ManagedBeans, nach JSF Migration von 1.2 nach 2.0 Web Tier 4
T JSF URL "hängt nach" - warum? Ausblenden möglich? Web Tier 4
T JSF ViewScoped - Zustand verliert sich nach Seitenaktualisierung Web Tier 8
F Migration eines CMS von PHP nach JAVA Web Tier 3
K Bilder nach dem Upload nutzen Web Tier 10
J Memory Leak in Servlet nach längere Laufzeit Web Tier 6
C Formulardaten der Reihe nach auslesen Web Tier 5
E JSF Datatable erst nach Buttonklick anzeigen Web Tier 2
S Webapp und mysql. mysql verliert die verbindung nach langer zeit Web Tier 6
U SessionAttribut nach j_security_check setzen Web Tier 3
S [SelectItems value(herkunft bean)] in [UI:repeat] lädt daten nicht neu nach Web Tier 3
hdi File Upload erst nach Prüfung Web Tier 4
D JSF: Best Practice "Session invalidate nach Schließen des Browsers"? Web Tier 3
D JSF: locale verliert Wert nach Navigation Web Tier 6
ruutaiokwu Wert hinter JSP-Tag nach Java-String in Skriptlet Web Tier 4
D Die ewige Suche nach dem richtigen Web-Framework Web Tier 34
M Properties der JSP nach input-result leer (Struts 2) Web Tier 2
S Attribute in Objektliste nach gecheckten Checkboxen setzen Web Tier 4
T Liste nach Anfangsbuchstaben getrennt ausgeben? Web Tier 2
Q browserfenster schließen nach HTTP-Authentifizierung Web Tier 3
T Selectbox nach klick submit Web Tier 1
G Seitenumbruch nach x Elementen Web Tier 3
M Authentifizierung über PhaseListener je nach Seite Web Tier 11
L Argumentübergabe von JSP nach Applet Web Tier 4
F nach Update auf RichFaces 3.2.0 Fehlermeldungen Web Tier 5
I servlet: init wird auch nach ServletException aufgerufen Web Tier 3
S JSF: Ändern von CSS Styles in commandLink nach Klick Web Tier 4
A Aufruf eines Servlets auf einer JSP Seite funktioniert nicht Web Tier 10
D JSF Aufruf des Value Attributes trotz rendered = false Web Tier 2
A Parameterübergabe an Servlet und Aufruf von Servlets per Java Code Web Tier 7
J JSF AJAX-Aufruf ohne Komponente Web Tier 4
H Managed Bean Aufruf auf Stack legen Web Tier 10
R Direkten Servlet-Aufruf verhindern (JSP) Web Tier 3
I Automatische Weiterleitung JSF mit Aufruf einer Methode Web Tier 2
T Aufruf von Visual Server Pages Web Tier 3
M druckansicht erzeugen - doppelter aufruf? Web Tier 2
F Beim Aufruf von einer JSF Seite eine Methode ausführen Web Tier 9

Ähnliche Java Themen

Neue Themen


Oben