Duvidas com JSP e JSTL?

Salve galera

Seguinte, estou começando a estudar a parte de Web com Java, estou vendo a apostila FJ21 da Caelum aqui: http://www.caelum.com.br/download/caelum-java-web-fj21.pdf

Negocio é que quero criar um DAO para um SELECT no meu BD e estou apanhando um pouco sobre isso.

Estou tentando assim.
pacotes(packages):
src
br.com.residencialthobiaslandim.db
br.com.residencialthobiaslandim.dao
br.com.residencialthobiaslandim.servlet
br.com.residencialthobiaslandim.pojo

//Conexao
package br.com.residencialthobiaslandim.db;
public class Conexao {	 
    public static Connection getConnection() throws SQLException{
        try {            
            Class.forName("com.mysql.jdbc.Driver");             
            return DriverManager.getConnection("jdbc:mysql://xxx.xxx.xxx.xxx/myDB?user=user&password=mypass");                         
        } catch (ClassNotFoundException e) {                        
            throw new SQLException();            
        }        
    }     
}



// Usuarios POJO
package br.com.residencialthobiaslandim.pojo;
public class Usuarios {
	private Long id;
	private String login;
	private String nome;
        //set e get
}



// DAO de Usuarios
package br.com.residencialthobiaslandim.dao;
public class UsuariosDAO {
	private Connection con;
	
	public UsuariosDAO(){
		try {
			this.con = Conexao.getConnection();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			System.out.println(e.getLocalizedMessage());
		}
	}
	
	
	public List<Usuarios> getUsuarios(){
		List<Usuarios> lista = new ArrayList<Usuarios>();
		try {
			PreparedStatement stm = this.con.prepareStatement("SELECT * FROM yusuarios");
			ResultSet rs = stm.executeQuery();
			while(rs.next()){
				Usuarios u = new Usuarios();
				u.setId(rs.getLong("id"));
				u.setLogin(rs.getString("login"));
				u.setNome(rs.getString("nome"));
				
				lista.add(u);
			}
			rs.close();
			stm.close();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			System.out.println(e.getLocalizedMessage());
		}
		return lista;
	}
}


//ExibeUsuarios.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
	<head>
		<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>.: Usuários :.</title>
	</head>
<body>
 
<jsp:useBean id="dao" class="br.com.residencialthobiaslandim.dao.UsuariosDAO"/>
<c:forEach var="u" items="${dao.lista}">
	${u.nome}
</c:forEach> 

</body>
</html>

O erro esta na imagem em anexo no post.


Você colocou as bibliotecas na pasta WEB-INF?

coloquei os drivers mysql-connector e javax.servlet.jsp.jstl-api-1.2.1.jar dentro da pasta WEB-INF/lib

obrigado

Só uma dica, por que ao invés de você acessar direto o seu DAO a partir de um(a) JSP, você não faz uma requisição a uma Servlet
e ela te retorna a lista com seus usuários como um atributo na ‘request’ ou ‘session’.
E que tal usar vRaptor pra facilitar sua vida… e bem simples de trabalhar como ele, e a galera aki do Guj pode te dar uma força em suas
dúvida.

[quote=jweibe]Só uma dica, por que ao invés de você acessar direto o seu DAO a partir de um(a) JSP, você não faz uma requisição a uma Servlet
e ela te retorna a lista com seus usuários como um atributo na ‘request’ ou ‘session’.
E que tal usar vRaptor pra facilitar sua vida… e bem simples de trabalhar como ele, e a galera aki do Guj pode te dar uma força em suas
dúvida.[/quote]

Opa, vou dar uma olhada no vRaptor…Mas pelo que estou vendo na apostila da Caelum eles usam Servlet apenas quando necessário, como quero apenas listar não sei se seria uma boa alternativa o uso. Até mesmo pq eles sempre falam em separar os códigos.
veja a apostila: http://www.caelum.com.br/download/caelum-java-web-fj21.pdf

obrigado

Esse erro aqui

org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application

Me parece ser problema no cabeçalho da JSTL. Na apostila eles falam q é necessário a JSTL-IMP e JSTL-API, eu só achei a API pra baixar, aqui: http://jstl.java.net/download.html

obrigado

Links:
JSTL IMPL: jstl-impl.jar
JSTL API: jstl-api.jar

[quote=jweibe]Links:
JSTL IMPL: jstl-impl.jar
JSTL API: jstl-api.jar[/quote]

vlw pelos links muleke…é nóix !!! Mas o erro ainda continua, affs !

org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application
	org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:56)
	org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:410)
	org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:117)
	org.apache.jasper.compiler.TagLibraryInfoImpl.generateTLDLocation(TagLibraryInfoImpl.java:311)
	org.apache.jasper.compiler.TagLibraryInfoImpl.&lt;init&gt;(TagLibraryInfoImpl.java:152)
	org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:410)
	org.apache.jasper.compiler.Parser.parseDirective(Parser.java:475)
	org.apache.jasper.compiler.Parser.parseElements(Parser.java:1427)
	org.apache.jasper.compiler.Parser.parse(Parser.java:138)
	org.apache.jasper.compiler.ParserController.doParse(ParserController.java:242)
	org.apache.jasper.compiler.ParserController.parse(ParserController.java:102)
	org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:198)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

Opaaaa…resolvido, configurei o Build Path acabaram-se os erros de JSTL ;-)…Agora vou pra briga com o MySQL …kk !!!

Galera, tudo resolvido e consigo acessar o banco de dados e usar a JSTL…Apenas configurei o Build Path para meus .jar e 100% funcional ;-).

Aqui meu JSP.

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
	<head>
		<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>		
		
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>.: Usuários :.</title>
	</head>
<body>

<jsp:useBean id="dao" class="br.com.residencialthobiaslandim.dao.UsuariosDAO"/>
<table>	
	<c:forEach var="contato" items="${dao.usuarios}">
		<tr>
			<td>${contato.nome}</td>			
		</tr>
	</c:forEach>
</table>

</body>
</html>

Legal cara, só coloca o como resolvido no primeiro post.