English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Estrutura do JSP

O servidor web precisa de um motor JSP, ou seja, um contêiner para processar páginas JSP. O contêiner é responsável por capturar solicitações para páginas JSP. Este tutorial usa o Apache com contêiner JSP embutido para suportar JSP Desenvolvimento.

O contêiner JSP colabora com o servidor web para fornecer o ambiente de execução necessário para JSP e outros serviços, e pode identificar corretamente os elementos especiais das páginas web JSP.

A figura a seguir mostra a localização do contêiner JSP e dos arquivos JSP no aplicativo web.

Processamento JSP

Os seguintes passos mostram como o servidor web cria páginas web usando JSP:

  • Como outras páginas web normais, seu navegador envia uma solicitação HTTP para o servidor.

  • O servidor web identifica que é uma solicitação para uma página web JSP e passa essa solicitação para o motor JSP. Isso pode ser feito através de uma URL ou de um arquivo .jsp.

  • O motor JSP carrega arquivos JSP do disco rígido, convertendo-os em Servlets. Esta conversão consiste em simplesmente substituir todos os textos de modelo por comandos println() e converter todos os elementos JSP em código Java.

  • O motor JSP compilará o Servlet em classes executáveis e passará a solicitação original para o motor Servlet.

  • Um componente do servidor web chamará o motor Servlet, carregará e executará a classe Servlet. Durante a execução, o Servlet gera uma saída no formato HTML e a incorpora no HTTP response, que é então entregue ao servidor web.

  • O servidor web retorna o HTTP response no formato de página web HTML estática para o seu navegador.

  • Finalmente, o navegador da web processa a página web HTML dinamicamente gerada no HTTP response, como se estivesse processando uma página web estática.

Os passos mencionados acima podem ser representados na figura a seguir:

Geralmente, o motor JSP verificará se o Servlet correspondente ao arquivo JSP já existe e se a data de modificação do arquivo JSP é anterior à do Servlet. Se a data de modificação do arquivo JSP for anterior ao Servlet correspondente, o contêiner pode determinar que o arquivo JSP não foi modificado e o Servlet é válido. Isso torna todo o processo mais eficiente e rápido em comparação com outros linguagens de script (por exemplo, PHP).

Em resumo, a página web JSP é escrita de outra forma, sem se tornar um mestre em programação Java. Além da explicação do estágio, a página web JSP quase pode ser tratada como um Servlet comum.