Fehlerseiten konfigurieren

Die Fehlerseiten einer Web-Applikation können in der entsprechenden Datei WEBAPP/WEB-INF/web.xml mit Hilfe der error-page-Einträge konfiguriert werden. Beispiel:

  <error-page>
    <exception-type>java.lang.Throwable</exception-type>
    <location>/global/errors/500.html</location>
  </error-page>

  <error-page>
    <error-code>401</error-code>
    <location>/global/errors/401.html</location>
  </error-page>

  <error-page>
    <error-code>403</error-code>
    <location>/global/errors/403.html</location>
  </error-page>

  <error-page>
    <error-code>404</error-code>
    <location>/global/errors/404.html</location>
  </error-page>

Das System sucht die Fehlerseiten direkt unterhalb der Web-Applikation. Beispielsweise hat die Seite für einen 401-Fehler bei obiger Definition den Pfad WEBAPP/global/errors/401.html. Beim Portal Manager wird, wenn die Fehlerseite an der angegebenen Stelle nicht existiert, auch unterhalb der documentSource nach ihr gesucht. Diese ist in der Datei /webapps/PM/WEB-INF/pm.xml definiert. So würde in diesem Fall der Pfad der Fehlerseite cmsDir/instance/instanceName/export/online/docs/global/errors/401.html lauten.

Sind im PM virtuelle Hosts definiert (VirtualHostConfig), so müssen die in der Datei web.xml angegebenen Fehlerseiten nicht unter PM/global/errors/, sondern unter PM/IhrVirtuellerHost/global/errors abgelegt werden.

Binden Sie in Ihren Fehlerseiten andere Elemente, beispielsweise Stylesheets oder Bilder ein, so fügen Sie in das Layout, das den HEAD-Bereich Ihrer Fehlerseiten generiert, den folgenden Javascript-Code ein:

  <script type="text/javascript">
    <!--
      document.write("<base href='" + location.protocol + "//" +
      location.host + "${document.url}'/>");
    -->
  </script>

Dieser Code sorgt dafür, dass die Referenzen auf die eingebunden Dateien immer auf das richtige Verzeichnis verweisen.