Sobes.tech
Junior

Por que não é necessário configurar as tags JSP padrão no arquivo web.xml?

sobes.tech IA

Resposta da IA

As etiquetas JSP padrão, como <jsp:useBean>, <jsp:include>, <jsp:forward>, <jsp:getProperty>, <jsp:setProperty>, <jsp:param> e outras, fazem parte da especificação JSP e da Biblioteca de Etiquetas Padrão do JavaServer Pages (JSTL). Essas bibliotecas de etiquetas estão sempre disponíveis no contêiner de servlets (como Tomcat, Jetty, etc.), que suporta a especificação JSP.

A configuração no web.xml (o descritor de implantação web-app) geralmente é necessária para:

  1. Declarar servlets e seus mapeamentos de URL.
  2. Declarar filtros e seus mapeamentos.
  3. Configurar ouvintes de eventos.
  4. Definir parâmetros de contexto da aplicação.
  5. Configurar bibliotecas de etiquetas personalizadas (que não fazem parte do JSTL padrão), indicando a localização do arquivo TLD (Descriptor de Biblioteca de Etiquetas).
  6. Configurar sessões, páginas de erro, páginas de boas-vindas, etc.

As etiquetas JSP padrão e as bibliotecas JSTL (core, fmt, sql, xml) já "são conhecidas" e são processadas pelo motor JSP do contêiner. Seus manipuladores estão integrados na implementação do JSP. Portanto, não é necessário declará-las explicitamente no web.xml nem baixar arquivos JAR adicionais (exceto em versões antigas do contêiner ou se desejar usar uma versão específica do JSTL diferente da embutida). Para as etiquetas padrão, seus arquivos TLD (por exemplo, jsp.tld dentro de arquivos JAR JSTL) já estão no contêiner ou o contêiner sabe como encontrá-los sem necessidade de indicação explícita no web.xml.

O uso de etiquetas padrão em JSP é feito usando a diretiva taglib:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

Essa diretiva informa ao motor JSP para usar a biblioteca JSTL Core com o prefixo c. O atributo uri aponta para um identificador único para a biblioteca de etiquetas, que o contêiner já conhece.