Pessoal, pq eu tenho que registrar minhas taglibs no web.xml se alguns frameworks como richfaces, jstl… não precisam? Como fazer para que não precise alterar o web.xml ? abraços!!
Já houve uma thread bem exaustiva sobre esse assunto.
Em resumo se você usa um appserver que implemente Servlet 2.4+ os TLDs são registrados automaticamente conforme o short-url declarado no arquivo. Porém cabe lembrar que seu web.xml precisa estar configurado para servlet 2.4.
Exemplo (note o version e as DTDs apontando para 2.4):
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:javaee="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_4.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
Conforme a especificação que está nessa página: http://java.sun.com/javaee/5/docs/tutorial/doc/bnaiy.html
Abraços