De todos modos para la proxima, eso que estas haciendo no tiene sentido.
Si como te dije anteriormente a tu servlet le debe importar un pimiento de donde vengan los datos, no deberias hacer que sea el servlet el que conecte, obtenga el resultset y desconecte.
Lo mas logico seria que se encargase de eso accesoBD, y tuvieras un metodo tal que asi:
Código:
public ArrayList lista()
{
ArrayList lista= new ArrayList();
Dato d = new Dato();
try{
conectar();
rs = bd.mostrar();
while(rs.next())
{
d.setId(rs.getInt("id"));
d.setNombre(rs.getString("nombre"));
lista.add(d);
}
finally
{
bd.desconectar();
}
return lista;
}
Y todos los demas de accesoBD que sean private. Por lo que te comente, que a nadie le importa como sea la BD y a donde se conecte.
En tu servlet
Código:
ArrayList lista = accesoBD.lista();
for (int i=0;i<lista.size();i++)
{
Dato d = (Dato) lista.get(i);
out.println(d.getId());
......
}
Evidentemente con sus capturas de excepciones en condiciones, etc etc.
Pero la idea seria esa.
Saludos.