quick and dirty advice?
use servlets for doing non visual stuff (you're not outputting HTML) and JSPs for doing purely visual stuff. Try and use beans in your JSP code as much as possible and as few scriptlets as you can manage. Otherwise, it often depends on the problem you are trying to solve. I'll give you the setup for one of my sites,
main site controller is a servlet, it takes URLs decodes them, gets the content and passes all the relevant values to the jsps
#
normal pages on the site, one jsp that includes some html files, and calls two beans to output the menus and the text.
#
response form on the site, servlet (no visual bit)
#
dynamic html editor for the site (administrator) - all jsps with tags.
one last thing to consider - there is one place where I would recommend using
java code in jsps: I use them when I develop a part of the site so that I dont have to worry about compiling a servlet. Using jsps I can force reloading without restarting the server, and I dont have to manually compile the code. What I do od though is never mix a jsp that has java code with a jsp that has html in it - my rule to myself is a jsp has either but not both