Apologies in advance for cross-posting this, but I sent this email
out to the tomcat-dev list a couple of days ago and have received no
replies at all... I think this is quite a useful feature, and I'm
wondering how best to go about contributing it.
Begin forwarded message:
From: Tim Fennell <[EMAIL PROTECTED]>
Date: October 9, 2005 5:50:11 PM EDT
Subject: More helpful reporting of exceptions in JSPs
Reply-To: "Tomcat Developers List" <email@example.com>
I'll apologize in advance if this is the wrong place to post this,
or if this has been covered before. I had a good read through the
Tomcat docs and faqs, searched the bug database, and googled around
on the topic, but could not really find anything.
I've been using Tomcat for a while, and in general have found it as
good a servlet/JSP container as any I've used. With one exception
(no pun intended). A long time ago I started out using WebLogic,
and the one thing that I loved about WebLogic, that is missing from
Tomcat, is that when an Exception occurred in a JSP it would tell
you what line number *in the JSP* generated the exception, and show
you a snippet of code around the offending line.
For quite a while I'd figured that the way Tomcat was built
prevented this from being easy/possible, but I didn't look. Well,
I finally got around to looking, and it only took me a couple of
hours to implement it. Which makes me wonder if there is some
other reason that this isn't done in Tomcat/Jasper?
At any rate, I have code that will do this now, and I think it'd be
a great productivity boost for anyone else developing JSPs on
Tomcat. It amounts to small patches to two files. The first is
org.apache.jasper.compiler.Compiler to make it hang on to the parse
tree (pageNodes) if in development mode, and a getter to make this
accessible. The second is to
org.apache.jasper.servlet.JspServletWrapper to do the grunt work of
mapping a stack frame from the exception back to the line in the
JSP that it came from.
It's all coded up to function only when in development mode, and is
reasonably well commented. Would any of the committers be
interested in taking a look at this if I put together a patch and
posted it here? Cheers,
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]