2010-07-26 5 views
4

Je souhaite gérer les erreurs HTML 404 dans mon application Web.Traitement des erreurs JSP/Servlet HTTP 404

Je peux écrire ceci:

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

Cela fonctionne parfaitement, mais je veux vous connecter chacun des urls non valides que le type d'utilisateurs. Lorsque j'utilise un scriptlet dans le error404.jsp comme ceci:

<% 
    System.out.println(request.getRequestURL()); 
    %> 

Je reçois toujours: http://localhost:8080/webApp/view/error.jsp, parce que les utilisateurs seront transmis à mon error404.jsp de l'URL non valide.

Comment obtenir l'URL non valide? Ou comment écrire une servlet qui capture toutes les requêtes qui ne sont pas traitées explicitement par d'autres servlets?

Répondre

9

Il est stocké comme attribut de requête avec le javax.servlet.forward.request_uri clé:

<p>URL: ${requestScope['javax.servlet.forward.request_uri']}</p> 

Ou si vous êtes encore sur l'héritage 1.x JSP qui a déjà été mis à jour il y a plus d'une décennie, puis le faire:

<p>URL: <%= request.getAttribute("javax.servlet.forward.request_uri"); %></p> 
+0

C'est cool! Merci! – Pink

+0

De rien. – BalusC

Questions connexes