tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
1
ZUGRIFFE
283
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    hippo08 hippo08 ist offline Mitglied
    Registriert seit
    Jul 2008
    Beiträge
    19
    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:

    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>
    Hier der Filter:

    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() {
       }
    }
     

  2. #2
    hippo08 hippo08 ist offline Mitglied
    Registriert seit
    Jul 2008
    Beiträge
    19
    Hab den Fehler gefunden.

    Statt setstatus(401) muß man setError(401) schreiben !
     

Ähnliche Themen

  1. Umlaute werden nicht angezeigt.....
    Von msweb im Forum HTML & XHTML
    Antworten: 4
    Letzter Beitrag: 27.12.10, 18:33
  2. Antworten: 0
    Letzter Beitrag: 10.12.10, 12:55
  3. Hibernate, Struts + Tomcat - alte Daten werden angezeigt
    Von MadM im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 0
    Letzter Beitrag: 26.06.06, 11:15
  4. Normalen werden nicht angezeigt ?!
    Von second im Forum Cinema 4D
    Antworten: 5
    Letzter Beitrag: 12.01.05, 12:57
  5. Javascript kann nicht angezeigt werden, ist nicht installiert....?
    Von JohannesHaase im Forum Microsoft Windows
    Antworten: 13
    Letzter Beitrag: 16.05.04, 21:31