package docen_servlet01; import javax.servlet.ServletException; import javax.servlet.ServletConfig; import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServlet; import java.io.PrintWriter; import java.io.IOException; import java.sql.*; /************************************************************************* * EJEMPLO DE SERVLET QUE SE CONECTA A BD * 1. En init() se intenta cargar driver. * 2. En doPost() intenta conexión a BD y nos muestra si ha tenido éxito. * La base de datos, login y pwd se obtienen de parámetros del Form * Al final de doPost() cierra la conexión. * Utiliza la clase Propiedades para saber driver y host sobre el que trabaja. * Dicha clase obtiene esta información de archivo de properties. **************************************************************************/ public class Conexion extends HttpServlet { private Connection con = null; // Conexion private boolean driver = false; // true si se ha cargado driver en init() private Propiedades acceso; // Clase para saber driver, host, etc. /************************************************************************ Al inicializarse el servlet se carga el driver. Para lo cual uso el contexto **************************************************************************/ public void init(ServletConfig config) throws ServletException { super.init(config); try { ServletContext sc = config.getServletContext(); // Obtengo contexto del servlet //// El path donde está el archivo de propiedades es 'contexto/propiedades/paquete/' //// sc.RealPath("/") me da el path del contexto de aplicación acceso = new Propiedades( sc.getRealPath("/")+"propiedades/" + getClass().getPackage().getName()+"/"); //// Si no hay problema con el archivo de propiedades, cargo el driver if ( acceso.mensajeError == null ) { Class.forName(acceso.getDriver()); driver = true; } } catch (ClassNotFoundException e) { driver = false; } } /***************************************************************** * Procesar una petición HTTP con el método POST. Intenta conexión *****************************************************************/ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html; charset=iso-8859-1"); // Definir tipo de salida PrintWriter out = response.getWriter(); // Obtener flujo salida try { //// Imprimir inicio página out.println(""); out.println("