Java Servlet-Filter redirect problem
Ich habe ein problem mit meinem authentication filter. Wenn der filter leitet auf die login-Seite keine Bilder angezeigt bekommt, die in der login-JSP. Allerdings, wenn ich Sie auf der login-Seite manuell auf, nachdem ich eingeloggt bin, werden die Bilder angezeigt.
Ich verstehe nicht, warum dies geschieht! Ich Schätze jede Hilfe. 🙂
AuthFilter:
if (authorized == null && path.indexOf("Auth") == -1 && path.indexOf("Login") == -1 ) {
httpResponse.sendRedirect("Login");
return;
} else {
chain.doFilter(request, response);
}
Login-servlet:
//Just using a servlet in case I want more data sent to the jsp
Dispatcher.dispatch("views/login.jsp", request, response);
login.jsp:
<img src="images/logo.png" />
Den jsp-ansonsten ist "normal", alle benötigten HTML-tags vorhanden sind. Die "Bilder" - Ordner ist in der Standardeinstellung "web" - Ordner des Projekts, neben all den anderen JSPs und javascripts.
Vielen Dank im Voraus für jede Hilfe. 🙂
- Stian
InformationsquelleAutor Stian | 2010-02-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist wegen der relativen Pfade.
Login
ist im root-Kontext/views/images/
So, wenn Sie vorwärts, die Bilder sind gesucht
/images
(weil Sie relativ zur aktuellen Adresse) statt/views/images/
Wie es zu lösen. Zwei Optionen:
Update:
Stellen Sie sicher, dass die Bilder NICHT vom filter beeinflusst. zwei Optionen:
request.getRequestURI()
ah, dann haben Sie auf den Ausschluss der Bilder aus dem filter - siehe mein update
Danke für die Hilfe, jetzt weiß ich wo das problem ist. 🙂
InformationsquelleAutor Bozho
Könnte es sein, dass dein filter wird auch angewandt, um Bild-Anfragen und leitet die Anfrage für
logo.png
zulogin.jsp
?Wenn dem so ist, könnten Sie passen Sie die
filter-mapping
imweb.xml
.InformationsquelleAutor Thilo