Announcement

Collapse
No announcement yet.

error pages (404)

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

  • error pages (404)

    Hallo,

    ich habe ein problem:

    Ich habe eine error 404 - page not found seite erstellt, und hab sie in der web.xml registriert:

    <error-page>
    <error-code>404</error-code>
    <location>/x-html/errors/status404.faces</location>
    </error-page>

    Wenn ich einen URL eingebe wie /blabla.bla, dann wird die gewünschte Seite auch angezeigt.

    Geb ich aber eine URL /blabla.faces ein, kommt die Tomcat - Default Error Page und außerdem wird eine Exception geworfen (s.u)

    Kann mir jemand helfen?


    Vielen Dank.

    -------------------------------------------------------------------------------------------

    Hier die Exception:

    SCHWERWIEGEND: Error Rendering View[/x-html/errors/status404.xhtml]
    java.lang.IllegalStateException: getOutputStream() has already been called for this response
    at org.apache.catalina.connector.Response.getWriter(R esponse.java:606)
    at org.apache.catalina.connector.ResponseFacade.getWr iter(ResponseFacade.java:195)
    at com.sun.facelets.FaceletViewHandler.createResponse Writer(FaceletViewHandler.java:393)
    at com.sun.facelets.FaceletViewHandler.renderView(Fac eletViewHandler.java:550)
    at com.sun.faces.lifecycle.RenderResponsePhase.execut e(RenderResponsePhase.java:87)
    at com.sun.faces.lifecycle.LifecycleImpl.phase(Lifecy cleImpl.java:200)
    at com.sun.faces.lifecycle.LifecycleImpl.render(Lifec ycleImpl.java:117)
    at javax.faces.webapp.FacesServlet.service(FacesServl et.java:198)
    at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.ApplicationDispatcher.inv oke(ApplicationDispatcher.java:672)
    at org.apache.catalina.core.ApplicationDispatcher.pro cessRequest(ApplicationDispatcher.java:465)
    at org.apache.catalina.core.ApplicationDispatcher.doF orward(ApplicationDispatcher.java:398)
    at org.apache.catalina.core.ApplicationDispatcher.for ward(ApplicationDispatcher.java:301)
    at org.apache.catalina.core.StandardHostValve.custom( StandardHostValve.java:363)
    at org.apache.catalina.core.StandardHostValve.status( StandardHostValve.java:284)
    at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:136)
    at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:105)
    at org.apache.catalina.core.StandardEngineValve.invok e(StandardEngineValve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.servic e(CoyoteAdapter.java:148)
    at org.apache.coyote.http11.Http11Processor.process(H ttp11Processor.java:868)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11 ConnectionHandler.processConnection(Http11BaseProt ocol.java:663)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.process Socket(PoolTcpEndpoint.java:527)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThr ead.runIt(LeaderFollowerWorkerThread.java:80)
    at org.apache.tomcat.util.threads.ThreadPool$ControlR unnable.run(ThreadPool.java:684)
    at java.lang.Thread.run(Thread.java:595)

  • #2
    Hi abro,

    ich hab grad 'ne seite im wiki von myfaces gefunden in der steht:

    Server errors such as HTTP 500 can occur for a number of reasons such as uncaught exceptions, missing JSFs or backing beans, bad URL...
    http://wiki.apache.org/myfaces/Handling_Server_Errors

    Wenn du versuchst eine Seite mit der Endung .faces aufzurufen wird wohl kein 404 - page not found return code vom server zurueckgeschickt (der server leitet ja alle anfragen, die mit .faces enden an das jsf-controller servlet weiter) sondern der controller wirft 'ne exception und du bekommst folglich einen 500 - internal server error return code zurueckgeliefert...
    Zuletzt editiert von orribl; 27.06.2007, 06:42.

    Comment


    • #3
      Hi orribl!

      Erstmal vielen Dank für deine Antwort!

      ok das mit dem 500er Error kann ich mir auch vorstellen.

      Allerdings zeigt die Tomcat - Default-Seite den Code 404 an.
      und ich habe im web-xml genauso für den fall 500 vorgesorgt.

      <error-page>
      <error-code>500</error-code>
      <location>/x-html/errors/status500.faces</location>
      </error-page>

      Hast du eine Ahnung wie ich das beheben kann?

      Danke abro

      Comment


      • #4
        &lt;servlet-mapping&gt;

        gibts vielleicht übers <servlet-mapping> eine Möglichkeit, dem Servlet mitzuteilen, was er mit URLs machen soll, die es nicht gibt?

        Comment

        Working...
        X