It is important to remember, though, that a JSP file is really just an alternative way of specifying a servlet. A JSP is always converted to a servlet and compiled before it can be run to generate a page.
JSP is easier to use if your page has a lot of static content (HTML which is the same for every request) and only a small number of relatively simple calls to generate dynamic content. Traditional servlets are a better choice if you need more sophisticated processing or only have a small amount of static HTML in the page.
Don't forget that there are also other ways of mixing static and synamic content on the same page. Several of my projects use
WebMacro or another templating engine of my own design, or generate XML which is formatted using XSL stylesheets.