O objetivo deste módulo é descrever a sintaxe necessária à escrita de páginas JSP bem como uma forma de uniformizar tal escrita. A escrita de páginas JSP se assemelha muito com a escrita de páginas dinâmicas para sistemas web utilizando-se outras linguagens de programação tais como ASP e PHP. Deste modo, as semelhanças com outras linguagens de programação encontradas ao longo deste módulo não podem ser vistas como mera coincidência.
Uma página JSP pode ter código Java e código HTML misturado em um mesmo arquivo fonte. De um modo formal, pode-se dizer que uma página JSP pode ter elementos e template data. Os elementos, que também são chamados de tags JSP, formam a sintaxe e a semântica de uma página JSP sendo os responsáveis, no lado do servidor, pela parte dinâmica do conteúdo.
Já os template data são todo o restante, ou seja, aquelas partes que o Container JSP não compreende, como por exemplo, as tags HTML, CSS, dentre outros.
A especificação JSP define três elementos, a saber: