Usa un Servlet de tipo filtro para hacer lo que pides. La idea consiste en que uses un directorio por encima de la raíz, por ejemplo "/protegido/", donde pones los ficheros jsp que son de contenido protegido. En WEB-INF/web.xml redireccionas cualquier petición inicial de ejecución de un jsp de este directorio a un mismo Servlet de autenticación.
El servlet de autenticación debe situar una variable, por ejemplo "userName", en la sesión, para identificar al usuario a lo largo de ella.
En el capítulo 18 y siguientes de la referencia que te cito viene un ejemplo con código completo, incluyendo el uso de Struts, que te recomiendo.
Cita: JavaServer Pages,
Hans Bergsten
Publisher: O'Reilly