ERLEDIGT
JA
JA
ANTWORTEN
1
1
ZUGRIFFE
283
283
EMPFEHLEN
-
Hi
Ich mache gerade meine ersten Gehversuche mit JSP und Tomcat.
Ich habe gerade einen ServletFilter geschrieben, der für jeden Request auf einen Unterbereich "user" prüfen soll ob der Benutzer angemeldet ist und wenn nicht einen statuscode 401 zurückgibt.Das funktioniert auch soweit.Ebenfalls habe ich eine Errorpage 401.jsp erzeugt die auf eine 401 Fehlermeldung reagiert.Diese funktioniert leider nicht.
Hier der Deployment Deskriptor:
Hier der Filter:HTML-Code:<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <display-name>S2DashboardDesktopBackEnd</display-name> <filter> <filter-name>UserFilter</filter-name> <filter-class>filters.UserFilter</filter-class> <init-param> <param-name>log_category</param-name> <param-value>DurationLog</param-value> </init-param> </filter> <filter-mapping> <filter-name>UserFilter</filter-name> <url-pattern>/user/*</url-pattern> </filter-mapping> <error-page> <error-code>401</error-code> <location>/errorPages/401.jsp</location> </error-page> </web-app>
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
package filters; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; public class UserFilter implements Filter { public void init(FilterConfig config) throws ServletException { } public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException { HttpServletRequest httpRequest = (HttpServletRequest) request; HttpServletResponse httpResponse = ((HttpServletResponse) response); HttpSession currentSession = httpRequest.getSession(); if(currentSession.getAttribute("username") == null || currentSession.getAttribute("password") == null){ httpResponse.setStatus(401); } else{ chain.doFilter(httpRequest, httpResponse); } } public void destroy() { } }
-
Hab den Fehler gefunden.
Statt setstatus(401) muß man setError(401) schreiben !
Ähnliche Themen
-
Umlaute werden nicht angezeigt.....
Von msweb im Forum HTML & XHTMLAntworten: 4Letzter Beitrag: 27.12.10, 18:33 -
JaveEE + Tomcat + Server Refresh + Bilder werden nicht angezeigt + Servlet
Von retrostyle im Forum JavaAntworten: 0Letzter Beitrag: 10.12.10, 12:55 -
Hibernate, Struts + Tomcat - alte Daten werden angezeigt
Von MadM im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 0Letzter Beitrag: 26.06.06, 11:15 -
Normalen werden nicht angezeigt ?!
Von second im Forum Cinema 4DAntworten: 5Letzter Beitrag: 12.01.05, 12:57 -
Javascript kann nicht angezeigt werden, ist nicht installiert....?
Von JohannesHaase im Forum Microsoft WindowsAntworten: 13Letzter Beitrag: 16.05.04, 21:31





Zitieren
Login





