I suspect that JSP is the best choice when
- The backend processing is fairly complex... (ie. lots of
hairy business logic and not just a database connection)
and
- it's implemented using EJB's, so as to share the logic with other (Java-based) systems.
Otherwise CGI::Perl / an appropriate templating system, as
suggested by other posters, is more than sufficient;
and (IME) has fewer gotchas.