Niestandardowa strona błędu - pobierz pierwotnie żądany adres URL
Problem
To jest kontynuacja wczorajszego (bez odpowiedzi) pytania (Spójrz tutaj) gdy próbuję znaleźć alternatywne podejście.
Dodałem podstawowe
<error-page>
<error-code>404</error-code>
<location>/404search.jsf</location>
</error-page>
..do mojegoweb.xml
. Muszę teraz uzyskać adres URL podany przez użytkownika, aby przesłać go do mojej funkcji wyszukiwania, ale udaje mi się tylko uzyskać bieżący adres URL (w tym przypadku ...404search.jsf
) zamiast rzeczywistego zapytania wprowadzonego przez użytkownika.
Próbowanie
HttpServletRequest.getRequestURL
zwracahttp://www.website.com/foldername/404search.jsf
HttpServletRequest.getRequestURI
zwraca/foldername/404search.jsf
HttpServletRequest.getQueryString
nic nie zwracaChcę, żeby to wróciło/foldername/wrong-url-the-user-entered#anchor-if-there-is-any
Detale...
Chodzi o to, aby uzyskać adres URL wprowadzony przez użytkownika (npwww.site.com/product/99999-product-that-cant-be-found
lubwww.site.com/faq/support-question-that-doesnt-exist
), REGEX to, aby usunąć myślniki i uruchomić zapytanie wyszukiwania99999 product that cant be found
lubsupport question that doesnt exist
.
Jakieś sugestie?