This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
It depends on how you are developing your code. If you are using a modern IDE, they have support.
Years ago, Netbeans had it and Eclipse did not, which drove me to use NetBeans. But I'm considering going to Eclipse as NetBeans is not getting a lot of support, and I expect that Oracle won't help that, if Oracle actually can buy Sun before Sun goes away.
Scriptless JSPs are the way to go. If you want to look at the stack trace you can always propogate the exception to the container and let the container log the trace. As for handling the error, you can set up error pages in web.xml.
Eclipse supports JSP debugging and I use it every now and then. Exploded deployments are also your friend