|
From: Martin M. <mar...@gm...> - 2007-09-11 05:45:51
|
I'm having a problem here with Jetty, which I don't have with Tomcat,
so I thought I might ask here.
I'm working with a typical MVC based framework (JSF, to be more
precise) and have a Front-Controller, and at the end of the
controlling-lifecycle, a forward to a JSP-page. In Tomcat, if an
exception in the JSP-code occurrs, the exception is passed down to the
controller servlet, and I can act accordingly. In jetty, the same
exception results in an error-page being displayed by Jetty. I wonder
if Jetty is displaying this error-page to early, e.g. it should pass
the exception up all hierarchies, also to my controller-servlet, and
only at the end of the processing chain, handle the exception?
regards,
Martin
P.S.: More Info:
Here the stacktrace I see in my logs (it's logged, but I don't get the
exception in the FacesServlet, which is in the call-chain, as you can
see):
2007-09-11 07:23:00.734::WARN: /example1/helloWorld.jsp:
org.apache.jasper.JasperException: /helloWorld.jsp(10,16) Unterminated
<h:form tag
at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39)
at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:405)
at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:130)
at org.apache.jasper.compiler.Parser.parseOptionalBody(Parser.java:1049)
at org.apache.jasper.compiler.Parser.parseCustomTag(Parser.java:1367)
at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1564)
at org.apache.jasper.compiler.Parser.parseBody(Parser.java:1793)
at org.apache.jasper.compiler.Parser.parseOptionalBody(Parser.java:1060)
at org.apache.jasper.compiler.Parser.parseCustomTag(Parser.java:1367)
at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1564)
at org.apache.jasper.compiler.Parser.parse(Parser.java:126)
at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:211)
at org.apache.jasper.compiler.ParserController.parse(ParserController.java:100)
at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:146)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:556)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:445)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:354)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:230)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:627)
at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:266)
at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)
at org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:425)
at org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:211)
at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:138)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:141)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:445)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1049)
at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1040)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:352)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:230)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:627)
at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:149)
at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:123)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:141)
at org.mortbay.jetty.Server.handle(Server.java:299)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:444)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:701)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:500)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:203)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:340)
at org.mortbay.jetty.nio.HttpChannelEndPoint.run(HttpChannelEndPoint.java:270)
at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
--
http://www.irian.at
Your JSF powerhouse -
JSF Consulting, Development and
Courses in English and German
Professional Support for Apache MyFaces
|