Cómo recuperar datos de una base de datos utilizando un servlet

Su servlet es básicamente un tipo de clase de controlador, que invoca otras clases auxiliares. Podría escribir su lógica JDBC en la clase de servlet, pero no es realmente una idea aconsejable, con toda la cantidad de codificación necesaria.

La mejor salida posible sería escribir una clase DAO de back-end, que extraiga los datos y sea llamada por el Servlet.

Primero cree una clase auxiliar que se conecte a la base de datos y extraiga los datos

clase pública GetEmployeeDAO
{
// Nombre del controlador JDBC y URL de la base de datos
Cadena estática final JDBC_DRIVER = “com.mysql.jdbc.Driver”;
Cadena estática final DB_URL = “jdbc: mysql: // localhost / TEST”;

// Credenciales de la base de datos
Cadena estática final USUARIO = “raíz”;
estática final String PASS = “contraseña”;
público vacío getEmployeeDetails
{

tratar{
// Registrar el controlador JDBC
Class.forName (“com.mysql.jdbc.Driver”);

// Abrir una conexión
Conexión conn = DriverManager.getConnection (DB_URL, USER, PASS);

// Ejecutar consulta SQL
Sentencia stmt = conn.createStatement ();
String sql;
sql = “SELECCIONAR ID, primero, último, edad de los empleados”;
ResultSet rs = stmt.executeQuery (sql);

// Extraer datos del conjunto de resultados
while (rs.next ()) {
// Recuperar por nombre de columna
int id = rs.getInt (“id”);
int edad = rs.getInt (“edad”);
Cadena primero = rs.getString (“primero”);
Cadena last = rs.getString (“last”);

}

// entorno de limpieza
rs.close ();
stmt.close ();
conn.close ();
} catch (SQLException se) {
// Manejar errores para JDBC
se.printStackTrace ();
} catch (Excepción e) {
// Manejar errores para Class.forName
e.printStackTrace ();
}finalmente{
// finalmente bloque utilizado para cerrar recursos
tratar{
if (stmt! = nulo)
stmt.close ();
} catch (SQLException se2) {
} // nada que podamos hacer
tratar{
if (conn! = nulo)
conn.close ();
} catch (SQLException se) {
se.printStackTrace ();
} // fin finalmente intenta
} // finaliza el intento
}
}

Y en tu clase de servlet

clase pública MyDataServlet extiende HttpServlet {

public void doGet (solicitud HttpServletRequest,
Respuesta de HttpServletResponse)
lanza ServletException, IOException
{
// Aquí obtenga una referencia a su clase DAO y obtenga los datos.
}