Announcement

Collapse
No announcement yet.

Error-Pages anzeigen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Error-Pages anzeigen

    Hallo,

    ich versuche für die allgemeinen Fehler (550,404 etc.) internationalisierte Fehlerseiten anzuzeigen. Ich gehe nach dem Buch von Sven Haiges vor und stelle folgendes in der web.xml ein:

    <web-app>
    ...
    <error-page>
    <error-code>404</error-code>
    <location>/WEB-INF/errors/error404.jsp</location>
    </error-page>
    ...
    </web-app>

    Das Problem ist, dass Tomcat auf der Webseite anzeigt, dass er eine Datei nicht finden kann, obwohl diese an der location vorhanden ist.

    Muss man noch irgendwo anders etwas einstellen. Im Buch wird auf Seite 83 nichts erwähnt.

    Gruß

    Andreas

  • #2
    Hallo Andreas,

    die Seiten dürfen nicht im WEB-INF liegen, da diese Dateien vor dem Abruf über das Internet geschützt werden.

    Richte auf gleicher Ebene wie WEB-INF z.B. das Verzeichnis errors ein, darin werden dann die Files abgelegt. Hier ein Auszug:

    <web-app>
    <error-page>
    <error-code>500</error-code>
    <location>/errors/500.jsp</location>
    </error-page>

    <error-page>
    <error-code>401</error-code>
    <location>/errors/401.jsp</location>
    </error-page>
    </web-app>

    Grüße,
    Sve

    Comment


    • #3
      Hi, ich habe das mal ausprobiert. Aber der Tomcat (4.1.24.) gibt folgenden Fehler aus:

      Starting service Tomcat-Standalone
      Apache Tomcat/4.1.24-LE-jdk14
      7062 [main] ERROR digester.Digester - Parse Error at line 105 column 11: The content of element type "web-app" must match "(icon?,display-name?,description?,distributable?,context-param*,servlet*,servlet-mapping*,session-config?,mime-mapping*,welcome-file-list?,error-page*,taglib*,resource-ref*,security-constraint*,login-config?,security-role*,env-entry*,ejb-ref*)".
      org.xml.sax.SAXParseException: The content of element type "web-app" must match "(icon?,display-name?,description?,distributable?,context-param*,servlet*,servlet-mapping*,session-config?,mime-mapping*,welcome-file-list?,error-page*,taglib*,resource-ref*,security-constraint*,login-config?,security-role*,env-entry*,ejb-ref*)".
      at org.apache.xerces.framework.XMLParser.reportError( XMLParser.java:1150)

      Müssen die "error-page" tags an einer bestimmten stelle in der "web-app" stehen

      Comment


      • #4
        OK, Sven, musste an bestimmter Stelle stehen! jetzt klappt das zwar mit dem pfad noch nicht, aber ich denke dass dies zu lösen ist.

        danke!

        Gruß

        Andrea

        Comment


        • #5
          Ich habe das gerade extra noch einmal getestet.

          die 404.jsp liegt dann direkt im Haupt-Verzeichnis der Web-Applikation. Wenn die webapp unter localhost:8080/meineApp läuft, dann muss die 404.jsp nun unter meineApp/404.jsp liegen.

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

          Die Error-page muss nach der Welcome-File-List in der web.xml stehen.

          Funktioniert es nun?

          Grüße,
          Sve

          Comment

          Working...
          X