Benutzerdefinierte Fehlerseite - Ursprünglich angeforderte URL abrufen

Problem

Dies ist eine Fortsetzung der gestrigen (unbeantworteten) Frage (siehe hier) als ich versuche, einen alternativen Ansatz zu finden.

Ich habe das Basic hinzugefügt

    <error-page>  
            <error-code>404</error-code>  
            <location>/404search.jsf</location>  
    </error-page>

..zu meinemweb.xml. Ich muss jetzt die URL abrufen, die der Benutzer eingegeben hat, um meine Suchfunktion zu aktivieren. Es gelingt mir jedoch nur, die aktuelle URL abzurufen (in diesem Fall ...404search.jsf) anstelle der eigentlichen Abfrage, die der Benutzer eingegeben hat.

Versuche

HttpServletRequest.getRequestURL kehrt zurückhttp://www.website.com/foldername/404search.jsfHttpServletRequest.getRequestURI kehrt zurück/foldername/404search.jsfHttpServletRequest.getQueryString gibt gar nichts zurück

Ich möchte, dass es zurückkommt/foldername/wrong-url-the-user-entered#anchor-if-there-is-any

Einzelheiten...

Die Idee ist, die vom Benutzer eingegebene URL abzurufen (z. B.www.site.com/product/99999-product-that-cant-be-found oderwww.site.com/faq/support-question-that-doesnt-exist), REGEX es, um die Bindestriche zu entfernen und eine Suchabfrage mit auszuführen99999 product that cant be found odersupport question that doesnt exist.

Irgendwelche Vorschläge?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage