Ist es möglich, das weiterleiten oder umleiten von ein servlet filter nach der Antwort begangen wurde?

Die Logik ist, dass der filter getroffen wird, ist die Bedingung nicht wahr, so geht es durch die filter-chain. Nach der Antwort verpflichtet sich, den filter getroffen wird, und die Bedingung ist wahr (Anfrage-Attribut gesetzt wurde). Es geht in der Ausführung der vorwärts, aber die Seite, nie nach vorn. Ich weiß, das hat etwas zu tun mit der Antwort verpflichtet, da ich getestet, verschiedene Logik, wo es nach vorne, bevor es auf die Kette das erste mal, und es tut sich vorwärts erfolgreich.

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
            throws IOException, ServletException {

    HttpServletRequest httpServletRequest = (HttpServletRequest)request;

    if (some condition equals true) {
        httpServletRequest.getRequestDispatcher("/home.jsp").forward(request, response);
        return;
    } else {
        chain.doFilter(request, response);
    }
}

Beispiel aus meinem deployment-descriptor:

<filter>
    <filter-name>MyFilter</filter-name>
    <filter-class>com.filters.MyFilter</filter-class>
</filter>

<filter-mapping>
    <filter-name>MyFilter</filter-name>
    <url-pattern>*.jsp</url-pattern>
    <dispatcher>REQUEST</dispatcher>  
    <dispatcher>FORWARD</dispatcher> 
</filter-mapping>

InformationsquelleAutor | 2010-08-04

Schreibe einen Kommentar