2016-04-26 7 views
-1

So sah ich mehrere Threads darüber, wie, indem folgend in der web.xml, um eine benutzerdefinierten JSP Seite 404 Error-Anfragen zu umleiten:404-Fehler an Servlet anstelle von JSP-Seite umleiten?

<error-page> 
    <error-code>404</error-code> 
    <location>/404page.jsp</location> 
</error-page> 

Das Problem bei dieser Methode ist, dass die URL auf die folgende Seite zeigt in diese Struktur:

www.mydomain.com/404page.jsp 

die .jsp Teil bums mich wie alle anderen Seiten durch Servlets abgebildet werden und damit die .jsp ist in ihnen nicht sichtbar.

Wie kann ich den Benutzer zu einem Servlet anstelle einer 404page.jsp JSP-Seite umleiten? So dass die URL lautet:

www.mydomain.com/404 

Ist das möglich? Falls nicht, wie kann der JSP-Teil der URL verborgen werden?

+0

Haben Sie versucht /404 zu setzen? – Bax

+0

Diese Frage ist seltsam. Normalerweise wird die URL der Fehlerseite nicht in der Adresszeile des Browsers angezeigt, da sie standardmäßig durch ** Weiterleiten ** und keine Weiterleitung angezeigt wird. Darüber hinaus sollten Fehlerseiten im Ordner '/ WEB-INF' abgelegt werden, damit Endbenutzer nicht direkt auf sie zugreifen (und sie bookmarken/freigeben/indizieren) können. Ich schlage vor, dass Sie einen Schritt zurück gehen und untersuchen, warum sie sich in Ihrem Fall so verhalten, als wären sie umgeleitet worden. Dies ist an erster Stelle falsch. – BalusC

Antwort

1

Sie können eine 404Handler Servlet erstellen und wo es sich wie unter

<servlet-mapping> 
     <servlet-name>404Handler</servlet-name> 
     <url-pattern>/404</url-pattern> 
</servlet-mapping> 
<error-page> 
    <error-code>404</error-code> 
    <location>/404</location> 
</error-page> 
+0

Was ist '404'? Ist das der Servlet-Name? – Dinuka

+1

404Handler ist der Servlet-Name./404 zeigt auf die URL. – Sanj

+0

Es funktioniert dank! :) Allerdings wird mein 404 nicht aufgerufen, wenn ich eine falsche URL eingib. Es zeigt immer noch einen browserbasierten Fehler an, der 'Error 404' sagt. Warum erkennt es keine 404-Fehler? – Dinuka