Próbuję napisać filtr, który może pobrać adres URL żądania, ale nie wiem, jak to zrobić.
Oto, co mam do tej pory:
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() { }
}
Kiedy trafiam na stronę na serwerze, jedyne wyjście, które widzę, to „Url: null”.
Jaki jest prawidłowy sposób uzyskania żądanego adresu URL z danego obiektu ServletRequest w filtrze?
getRequestURL()
powracaStringBuffer
, nieString
.