O servidor web requer um mecanismo JSP, que é um contêiner para processar páginas JSP. O contêiner é responsável por interceptar solicitações de páginas JSP. Este tutorial usa Apache com um contêiner JSP integrado para oferecer suporte ao desenvolvimento JSP.
O contêiner JSP coopera com o servidor web para fornecer o ambiente operacional necessário e outros serviços para a operação normal do JSP e pode identificar corretamente elementos especiais exclusivos das páginas web JSP.
A figura a seguir mostra o local do contêiner JSP e dos arquivos JSP no aplicativo da web.
As etapas a seguir mostram como um servidor web usa JSP para criar uma página web:
Assim como qualquer outra página da web normal, seu navegador envia uma solicitação HTTP ao servidor.
O servidor web reconhece que esta é uma solicitação para uma página JSP e passa a solicitação para o mecanismo JSP. Isso é feito usando uma URL ou um arquivo .jsp.
O mecanismo JSP carrega arquivos JSP do disco e os converte em servlets. Essa transformação simplesmente converte todo o texto do modelo em instruções println() e converte todos os elementos JSP em código Java.
O mecanismo JSP compila o servlet em uma classe executável e passa a solicitação original ao mecanismo do servlet.
Um componente do servidor web chamará o mecanismo do servlet e, em seguida, carregará e executará a classe do servlet. Durante a execução, o servlet gera saída em formato HTML e a incorpora na resposta HTTP e a envia ao servidor Web.
O servidor web retorna a resposta HTTP ao seu navegador na forma de uma página HTML estática.
Em última análise, os navegadores da Web processam as páginas HTML geradas dinamicamente na resposta HTTP como se fossem páginas da Web estáticas.
As etapas mencionadas acima podem ser representadas pela figura a seguir:
Em circunstâncias normais, o mecanismo JSP verificará se o servlet correspondente ao arquivo JSP já existe e verificará se a data de modificação do arquivo JSP é anterior ao servlet. Se a data de modificação do arquivo JSP for anterior ao servlet correspondente, o contêiner poderá ter certeza de que o arquivo JSP não foi modificado e que o servlet é válido. Isso torna todo o processo mais eficiente e rápido do que outras linguagens de script (como PHP).
Em geral, as páginas da web JSP são outra maneira de escrever servlets sem se tornar um especialista em programação Java. Exceto pela fase de interpretação, uma página JSP pode ser tratada quase como um servlet comum.