As classes Valve, no servidor Apache Tomcat 10, são caracterizadas por agirem como:
- A)bancos de dados de nomes de usuários, senhas e funções atribuídas a esses usuários;
Errada, porque banco de dados de usuarios, senhas e funcoes e papel de autenticacao/autorizacao, nao de uma Valve do Tomcat.
- B)pré-processadores para as requisições associadas a um contêiner Catalina;
Certa, porque as Valves atuam como interceptadores/pre-processadores de requisicoes no container Catalina.
- C)bibliotecas de tags customizadas que são utilizadas na composição de páginas JSP;
Errada, porque bibliotecas de tags customizadas correspondem a tag libraries de JSP, nao a Valves.
- D)controladores para implantação de novos aplicativos web sem precisar reiniciar o servidor;
Errada, porque implantacao de aplicacoes sem reiniciar o servidor se relaciona a gerenciamento de deploy, nao ao mecanismo Valve.
- E)objetos enxutos que não dependem da herança de interfaces ou classes de frameworks externos.
Errada, porque isso descreve componentes leves e independentes de frameworks, algo que nao caracteriza as Valves do Tomcat.
Gabarito: B
No Apache Tomcat, especialmente no Catalina, o processamento de uma requisicao nao acontece de forma “seca” e direta. Antes de chegar ao aplicativo, ela pode passar por uma cadeia de componentes que inspecionam, alteram ou registram o caminho da requisicao. E ai entram as classes Valve: elas funcionam como etapas de interceptacao dentro do container, bem no estilo “deixa eu olhar isso antes de seguir”. Em termos praticos, uma Valve age como um pre-processador ou pos-processador de requisicoes associadas a um container Catalina. Ela pode ser usada, por exemplo, para log, autenticacao, controle de acesso ou manipulacao da requisicao e resposta. Por isso, a alternativa B esta correta: descreve exatamente essa funcao de interceptacao no fluxo do Tomcat. O ponto importante para prova e nao confundir Valve com outras pecas do ecossistema Java web. Tags customizadas sao outra historia, ligada a JSP e JSTL. Implantacao de aplicacoes, banco de usuarios e frameworks externos tambem nao tem relacao com o papel das Valves. A palavra-chave aqui e “intermediacao do fluxo” dentro do container. Na pratica, a banca gosta de testar se voce sabe separar os componentes do servidor web/app server: Valve trabalha no pipeline do Catalina, atuando como filtro/interceptor do processamento das requisicoes. Se voce pensou em “algo que entra antes de o pedido chegar ao app”, voce estava no caminho certo.