O que é o formato de ficheiro JSP?
.jsp é um arquivo do lado do servidor usado para gerar conteúdo web dinâmico. Originalmente introduzido pela Sun Microsystems em 1999 como JavaServer Pages, o formato foi renomeado para Jakarta Server Pages em 2019, quando a gestão passou para a Eclipse Foundation sob o guarda-chuva do Jakarta EE. Assim como arquivos PHP ou ASP, um arquivo .jsp incorpora código executável dentro da marcação HTML - mas a linguagem incorporada é o Java. O arquivo armazena a lógica do programa no servidor, que a processa e envia a página HTML finalizada para o navegador.
Os arquivos de código-fonte .jsp são texto simples. O código Java é incorporado via tags de scriptlet (<% ... %>), tags de expressão (<%= ... %>) ou pela JSP Expression Language (${...}). Projetos modernos geralmente usam JSTL para manter a lógica de negócios fora do template. Se a página for escrita como um XML bem formatado, a extensão .jspx é usada em seu lugar.
Considerações do lado do cliente. O usuário não precisa saber qual tecnologia um determinado site utiliza. O navegador recebe apenas a saída HTML gerada pelo servidor - a camada .jsp fica completamente oculta para os visitantes. Nenhuma Java Virtual Machine ou ferramentas especiais são necessárias para abrir um arquivo de código-fonte .jsp; um editor de texto padrão é suficiente.
Segurança e proteção
RISCO: LOWA extensão .jsp não diz nada sobre segurança por si só - em uma URL, é apenas uma página web normal; trate o site como qualquer outro (cuidado com phishing em páginas de login/banco). Um .jsp baixado é tipicamente um HTML inofensivo ou um documento renomeado incorretamente, e abri-lo em um editor de texto é sempre seguro. Tenha cautela apenas se um download .jsp inesperado vier de uma fonte não confiável - inspecione-o como texto antes de renomear e nunca execute nada que ele tente iniciar. (Para operadores de servidor, «web shells» .jsp maliciosos enviados por upload são uma preocupação do lado do servidor, não um risco para quem apenas visualiza o arquivo.)
Detalhes do formato
em resumoProgramas que abrem arquivos JSP
Detalhes técnicos
especificação profunda| Tipo de arquivo | Template web Java do lado do servidor; código-fonte em texto simples misturando marcação HTML com scriptlets Java, diretivas e expressões EL |
| Tipo MIME | text/html |
| Codificação de texto | UTF-8 simples (charset declarado na diretiva `<%@ page %>`; outras codificações como ISO-8859-1 são suportadas) |
| Assinatura binária | Nenhuma - arquivos `.jsp` não possuem magic bytes; o código-fonte geralmente abre com `<%@ page ... %>` ou uma declaração DOCTYPE/HTML |
| Sintaxe de scriptlet | `<% ... %>` para blocos de código, `<%= ... %>` para expressões de saída, `<%! ... %>` para declarações de campos e métodos |
| Expression Language | `${...}` para avaliação imediata; `#{...}` para avaliação tardia - ambos acessam beans e variáveis de escopo sem incorporar Java bruto |
| Requisito de servidor | Requer um container de servlets compatível com Jakarta EE (Apache Tomcat, Eclipse Jetty, WildFly, etc.); não pode ser servido por um servidor HTTP comum |
| Modelo de compilação | O container traduz automaticamente o `.jsp` para um arquivo de código-fonte de servlet Java, compila-o para bytecode `.class`, então faz o cache e reutiliza a classe compilada |
| Variante baseada em XML | `.jspx` (Documento JSP) - dialeto XML estritamente bem formatado; bibliotecas de tags referenciadas via namespaces XML em vez de `<%@ taglib %>` |
| Suporte a biblioteca de tags | JSTL (Jakarta Standard Tag Library) e bibliotecas de tags personalizadas descritas por arquivos descritores `.tld` reduzem a dependência de scriptlets |
| Empacotamento de implantação | Agrupado dentro de um `.war` (Web Application Archive) junto com servlets, classes e recursos estáticos para implantação em um container de servlets |
| Objetos de escopo implícitos | Quatro escopos integrados - page, request, session e application - expõem atributos acessíveis ao longo do tempo de vida correspondente |
| Variáveis implícitas | Nove variáveis predefinidas disponíveis sem declaração: `request`, `response`, `out`, `session`, `application`, `config`, `pageContext`, `page`, `exception` |
| Histórico de gestão | Criado pela Sun Microsystems (JSP 1.0, 1999); tornou-se parte do Java EE; transferido para a Eclipse Foundation como Jakarta Server Pages sob o Jakarta EE em 2019 |
| Lançado | 1999 (JavaServer Pages 1.0); renamed Jakarta Server Pages under Jakarta EE (2019) |
| Padrão aberto | Sim · livre de royalties |
| Especificação | jakarta.ee |
Conversões de JSP
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos JSP.