Uma opção de aplicação do servlet nesse caso.
O servlet poderia executar os seguintes passos:
1 - Receber a solicitação HTTP, recebendo os parâmetros de forma simples (mais fácil que ASP) e adequada;
2 - Validar a solicitação (baseado em usuário e perfil, por exemplo);
3- Criar um “evento” baseado na solicitação;
4- Disparar esse evento, ou direcioná-lo para alguma classe que trate o evento;
5- Coletar o resultado obtido;
6- Direcionar a chamada para um JSP que irá exibir o resultado da solicitação HTTP.
Esse seria o papel típico do que chamamos “Controller” na arquitetura J2EE, uma aplicação típica de servlet’s.
O Servlet é bastante poderoso, uma das aplicações que eu acho bem interessantes é a exibição de conteúdo binário.
Por exemplo, se você quer exibir uma imagem que está em seu banco de dados, você pode colocar uma url na sua página do tipo:
<img src="pathtomyservlet?idimagem=x">
De outra forma, como fazer um link para uma imagem dentro do banco de dados ? 
Da mesma forma, você poderia retornar em formato binário (com o devido mime type atribuído) arquivos .doc, .pdf, .gif, .html (até), etc.