Tomcat 6 e JSTL

Pessoal,

Estou estudando sobre Java para Web através da apostila da Caelum mas estou tendo um problema que não sei qual o problema. Segui todos os passos mas não consigo usar a tag <c:forEach> da JSTL (já testei outra como <c:out> e funciona corretamente. Já adicionei o driver JDBC do MySQL e a implementação da JSTL no diretório WEB-INF/lib da minha aplicação. A minha página JSP está da seguinte forma:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
		<title>Insert title here</title>
	</head>
	<body>
			<jsp:useBean id="dao" class="jdbcteste.ContatoDAO" />
			<c:forEach var="contato" items="${dao.lista}"></c:forEach>
	</body>
</html>

E o stacktrace do Tomcat é:

java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.core.LoopTag
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1484)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1329)
	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:398)
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:698)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
	at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2331)
	at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:976)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1451)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1329)
	at org.apache.jasper.compiler.Parser.parseCustomTag(Parser.java:1190)
	at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1415)
	at org.apache.jasper.compiler.Parser.parse(Parser.java:130)
	at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:255)
	at org.apache.jasper.compiler.ParserController.parse(ParserController.java:103)
	at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:170)
	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:332)
	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:312)
	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:299)
	at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:589)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	at java.lang.Thread.run(Thread.java:637)

Alguma sugestão ?

Pessoal,

Eu deixei de usar a implementação que foi recomendada na apostila da Caelum, a versão da JSTL 1.2 da Sun, e estou usando a implementação da Apache da JSTL 1.1 e tudo esta funcionando agora. Gostaria de saber o que eu fiz de errado pra outra implementação não funcionar…

Abraços,

Cara, você estava importando a taglib da Sun

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

Mas como estava usando a taglib da Apache, devia fazer assim:

<%@ taglib uri="http://jakarta.apache.org/taglibs/core" prefix="c" %> 

Amigo,

Antes seu estava usando a taglib da Sun e importando a mesma e mesmo assim não estava funcionando. Agora, eu estou usando a implementação da Apache e tudo esta funcionando perfeitamente. Gostaria de saber porque algumas tags da implementação da Sun não estavam funcionando.

Abraços,