Filter

Status
Nicht offen für weitere Antworten.

MQue

Top Contributor
Hallo,

beim meiner Web- Anwendung brauche ich einen Filter, welcher mir zum Response noch etwas dazuschreibt, also wenn am Client eine Seite abfrage, dann soll die Abfrage ganz nochmal von statten gehen (ohne Filter) und wenn diese Seite beim Server hinausgeht, dann sollte noch etwas gemacht werden, jetzt ist es schon eine Zeit her das ich das JavaEE Tutorial gelesen habe und ich kann mich noch düster daran erinnern, dass es ein bisschen komplizierter ist, wenn der Filter erst nach einer Anfrage greifen soll,
Vielleich könnte mir da jemand auf die Sprünge helfen,

Besten Dank,
lg



Java:
package filter;

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.HttpServletResponse;

public final class Filter1 implements Filter {

    private FilterConfig filterConfig;

    public void init(FilterConfig filterConfig) throws ServletException {
        this.filterConfig = filterConfig;
        }

    public void destroy() {
        filterConfig = null;
        }

    public void doFilter(final ServletRequest request, final ServletResponse response, final FilterChain chain) throws IOException, ServletException {
        final HttpServletResponse httpres = (HttpServletResponse)response;
        request.setAttribute("test", "testVaraible in Filer gesetzt");
        chain.doFilter(request, response);
        }
}
 

MQue

Top Contributor
Besten Dank,
hab das mal so hinbekommen, dass jede URL gefiltert wird beim request und response mit:

Code:
    <filter-mapping>
        <filter-name>MyFilter</filter-name>
        <url-pattern>/*</url-pattern>  // hier happerts noch
    </filter-mapping>

Jetzt möchte ich nur die URLs (Requests, die per AJAX stattfinden) filtern, die in der Anfrage den String "changePicture=true" enthalten.
Geht das irgendwie, ich glaub mit RegEx funktioniert das ganz gut, kann ich diese RegEx in das "url-pattern" tag reinschreiben?
lg
 

MQue

Top Contributor
Hallo,

hätte noch eine Frage zum dem Thema und zwar habe ich in meinem Filter unter anderem die Methode:

Code:
   private void doAfterProcessing(final ServletRequest request, final ServletResponse response) 
   throws IOException, ServletException {
        System.out.println("******** doAfterProcessing: " + response.getCharacterEncoding() + ", " + response.getContentType());
        }

eingebaut,
im meinem Fall schaut es so aus, dass der Client eine Seite anfordert und ich durch den Filter noch etwas dazuhängen möchte, ich habe aber das Problem, dass ich nicht weiß, wie ich auf den Content des response zugreifen kann,

lg
 
Zuletzt bearbeitet:

MQue

Top Contributor
Bzw. anders gefragt,
nachdem eine angeforderte Seite zum Client gesendet wurde und diese im Browser angezeigt wird, braucht der Client weitere Informationen (XML) die ich ihm senden möchte (also unmittelbar nachdem ich ihm die Seite gesendet habe),
Wie kann ich das am Besten machen?
Eine Möglichkeit wäre wahrscheinlich, nachdem die Seite im Browser angezeigt wurde frägt der Client nochmal beim Server an, um die zusätzlichen Informationen zu erhalten.
Am Besten wäre es für mich, wenns mit einem Request - Response erledigt wäre.
Was sagt ihr dazu?

lg
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben