Write code in such a way that you don't need a debugger
The moment you need that debugger to find out where and why something is wrong is the moment
you should realise that your code is fatally flawed and up for a rewrite
Seriously, I've been writing Servlets and JSPs for a long time now and hardly ever used a debugger on them.
Initially because the platforms didn't even support debugging them, now because I don't need to.
Use deliberate logging in development which you can easily turn off and on at will at deployment time. If the log is good it's more valuable than any debugger (especially as many problems you will encounter are race conditions that are especially hard to duplicate at will during a debug run, like two exactly simultaneous requests for the same bit of data).