Ich versuche, einen Filter zu schreiben, der die Anforderungs-URL abrufen kann, bin mir aber nicht sicher, wie ich das tun soll.
Folgendes habe ich bisher:
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
public class MyFilter implements Filter {
public void init(FilterConfig config) throws ServletException { }
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws ServletException, IOException {
chain.doFilter(request, response);
String url = ((HttpServletRequest) request).getPathTranslated();
System.out.println("Url: " + url);
}
public void destroy() { }
}
Wenn ich eine Seite auf meinem Server aufrufe, wird nur "Url: null" angezeigt.
Was ist der richtige Weg, um die angeforderte URL von einem bestimmten ServletRequest-Objekt in einem Filter abzurufen?
getRequestURL()
kehrt zurückStringBuffer
, nichtString
.