I see that this post has been a few weeks old. Perhaps the OP might not consider reading any more replies. Wanted add a voice, in case either the OP or anyone else stumble upon this post. Wanted to highlight some fundamentals that might justify answers to use Servlet and not JSP.
There are somethings known as
design patterns in software development industry. These are known to be proven solutions for known problem patterns. These advice on how to neatly isolate functionality alongside collaborative communication towards the bigger goal of the problem. One of these patterns is
Model-View-Controller also known as MVC pattern.
It was olden days when developers had only a choice of core programming languages to choose from to develop software solutions. But that is not the case anymore. Technologies like EJBs, Servlets, JSP, etc. have been built with a purpose. One of the main purposes is to provide a framework to implement well known design patterns with ease. The Servlets-JSP basically provides a framework to develop solution in MVC pattern, by Servlets taking the role of Controllers and JSPs taking the role of View. Why? it makes sense for logic to reside in a Java source file (a Servlet) and View (generally HTML) to reside in JSP, a tag-based syntax file. JSTL has been added to facilitate access to dynamic state (Model of MVC) or in simple words "data", that needs to be presented in view while keeping the tag-based syntax.
It is great that the frameworks (like JSTL) are extensible and allows to develop custom functionality. But the intention of this provision is never to break the fundamental purposes. The consequences of breaking the fundamentals are the loss of the good abilities (Maintainability, Testability, etc.) the software should incorporate.
Having said that, it all depends on how much one (could be a developer, a team, a company) is concerned about all these fundamentals of software development.