7
votes

Page vide au lieu de la page d'erreur Tomcat personnalisée

Mon paramètre: Apache 2.2 + Tomcat 6.0 @ Windows 2008 R2 64bit

  • WebPages statiques: /
  • Servlet: / FOO
  • Tomcat et Apache sont connectés par Mod_JK
  • 404.jsp est placé dans tomcat \ webapps \ root

    tomcat \ conf \ web.xml: xxx

    apache \ Conf \ extra \ httpd-ssl. Conf: xxx

    Quand j'ouvre https : //...../404.jsp ma page d'erreur personnalisée est affichée. Mais quand j'ouvre https: //...../foo/nonexisting.html Une page vide est affichée.

    si je supprimais le ... code de web.xml et ouvrez https: ///foo/nonexisting.html puis Tomcats possède 404 est affiché.

    Toute astuce?


0 commentaires

7 Réponses :


-1
votes

Son spectacle exactement 404 page non trouvée ou sinon? Parce que certains autres codes d'erreur sont également disponibles comme 400 401 403 500. Regardez ce lien pour cela http://docs.yahoo.com/docs/writeus/error.html

Si vous avez d'autres ajouts que les codes d'erreur ASLO dans le fichier web.xml. Espère que cela aide. Codage heureux ...


1 commentaires

? Vous devez avoir mal compris mon problème



0
votes

Remarque: vous devez être sûr que la page que vous spécifiez ne commence pas avec un numéro (c'est-à-dire: 404.jsp). Ceci parce que, selon Java Syntax, vous ne pouvez pas démarrer un nom de classe avec un numéro.

http://www.jguru.com/faq/view.jsp? Eid = 492774

espère que cela aide: -)


1 commentaires

pour 404.jsp a _404_jsp.java est généré qui compile jusqu'à _404_jsp.class qui est invoqué sans problème, donc cela ne peut pas être la raison



0
votes

Si cela fonctionne bien lors du chargement 404.jsp, et montre une page vierge lorsque Tomcat tente d'utiliser la page pour gérer une erreur 404, cela pourrait signifier qu'il existe une erreur dans le code source 404.jsp déclenché uniquement par Utilisation de l'objet Errordata.

Vérifiez les journaux. J'avais un problème de page vide similaire et il s'est avéré que j'avais un URL de TagLib incorrect .

Modifier

En outre, JKMount ne devrait pas être nécessaire car Tomcat génère déjà ces 404 (c'est-à-dire qu'ils ne sont pas dans la PURVIEW'S Apache).


0 commentaires

1
votes

Autant que je puisse le voir, les erreurs de Webapps ne peuvent pas être traitées avec des pages d'erreur placées à root. Je mettez maintenant le 404.jsp dans chaque webapp (/foo/404.jsp, /bar/404.jsp, ...) Et maintenant ça marche. Je peux supprimer en toute sécurité le 404.jsp en root, mais si je supprime le 404.jsp in / foo ou / bar, une page vierge est servie si un 404 se produit dans l'une ou l'autre WebApp. Soit Tomcat ignore l'élément "Emplacement" ou le contenu de cet élément est ajouté au chemin de la webApp "appelant".


0 commentaires

0
votes

J'ai aussi eu ce problème, et il s'avère que le coupable était que j'avais saisi le nom de la racine de contexte d'application dans l'emplacement de la page d'erreur. C'est-à-dire xxx

alors qu'il devrait bien sûr avoir été xxx


1 commentaires

Comme je me suis répondu il y a quelques jours: l'emplacement est annexé au chemin de Webapps, alors quand un 404 se produit dans la webapp avec chemin / FOO puis / foo / {emplacement} est servi, il semble donc que l'on ne peut pas spécifier "global "Pages d'erreur



2
votes

Le jkmount devrait avoir le contexte comme paramètre, ex: xxx

puis les pages sont accessibles de cette manière: xxx

ou < / p> xxx


0 commentaires

0
votes

J'ai fait face à ce problème lors de l'exécution d'un projet Web statique. J'ai effectué la mise en œuvre suivante et elle a fonctionné pour moi.

a ajouté les lignes suivantes dans% catalina_home% / Conf / Web.xml xxx


0 commentaires