da ultima vez que baixei o driver do mysql ele vinha em um arquivo ele vinha compactado em um zip ou tar.gz
Vc deve descompactar e copiar o arquivo arquivo mysql-connector-java-3.0.8-stable-bin.jar para o diretorio $CATALINA_HOME/commons/lib.
Dica: Evite fazer conexões a toda vez que houver uma solicitação do JSP/Servlet, utilize um Pool de Conexões. No tomcat já vem um. Para configurá-lo altere o arquivo $CATALINA_HOME/conf/server.xml adicionando as suas configurações. Segue abaixo um exemplo de Conexão com o Pool
<Host name="localhost" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true">
...
<DefaultContext>
<Resource name="jdbc/StrutsDemoDS" auth="Container" type="javax.sql.DataSource" scope="Shareable"/>
<ResourceParams name="jdbc/StrutsDemoDS">
<parameter><name>factory</name><value>org.apache.commons.dbcp.BasicDataSourceFactory</value></parameter>
<parameter><name>driverClassName</name><value>com.mysql.jdbc.Driver</value></parameter>
<parameter><name>url</name><value>jdbc:mysql://localhost/strutsdemo</value></parameter>
<parameter><name>username</name><value>root</value></parameter>
<parameter><name>password</name><value>root</value></parameter>
<parameter><name>maxActive</name><value>20</value></parameter>
<parameter><name>maxIdle</name><value>10</value></parameter>
<parameter><name>maxWait</name><value>100</value></parameter>
</ResourceParams>
</DefaultContext>
...
</Host>
Vai aí um exemplo de como obter uma conexão do banco e carregar os registros em uma coleção. Esta coleção deverá ser setada na sessao do usuário(atraves de uma servlet que chama esta classe para retornar uma colecao de usuarios), e no JSP vc pegar este objeto, navegar na coleção e exibi-los no JSP, ou seja, nada de acesso a banco via JSP.
Estamos entendidos?
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
public class DBDemo {
private static DataSource dataSource = null;
public Connection getConnection() throws NamingException, SQLException {
Connection conn = null;
if (dataSource == null) {
try {
InitialContext ic = new InitialContext();
dataSource = (DataSource) ic.lookup("java:comp/env/jdbc/StrutsDemoDS");
} catch (NamingException ex) {
System.out.println(ex.getMessage());
throw ex;
}
}
if (dataSource != null) {
conn = dataSource.getConnection();
}
return conn;
}
protected void closeConnection(Connection conn, PreparedStatement stmt, ResultSet rs) {
if (rs != null) try { rs.close(); } catch (SQLException e) {}
if (stmt != null) try { stmt.close(); } catch (SQLException e) {}
if (conn != null) try { conn.close(); } catch (SQLException e) {}
}
public List getUsers() throws SQLException {
Connection conn = null;
PreparedStatement stmt = null;
ResultSet rs = null;
List users = new ArrayList();
try {
conn = getConnection();
stmt = conn.prepareStatement("select * from usuario");
rs = stmt.executeQuery();
while (rs.next()) {
UserData user = new UserData();
user.setIdUsuario(rs.getInt("id_usuario"));
user.setNome(rs.getString("nome"));
user.setLogin(rs.getString("login"));
user.setSenha(rs.getString("senha"));
users.add(user);
}
}
catch (SQLException e) {
throw e;
}
finally {
closeConnection(conn, stmt, rs);
}
return users;
}
}
[]s, Welington B. Souza