Gestionar una conexión JDBC con Tomcat

2702 vistas

El jar del JDBC tiene que estar en la lib del Tomcat.
Después, hay 3 etapas:

En el server.xml



xml
  1. <Context path="/El_Contexto"
  2.         reloadable="true"
  3.         debug="0"
  4.         docBase="El_DocBase"
  5.         workDir="El_workDir">
  6.   <Ressource name="jdbc/El_Contexto" auth="Container" type="javax.sql.DataSource"/>
  7.     <ResourceParams name="jdbc/El_Contexto">
  8.       <parameter>
  9.         <name>user</name><value>El_Login_SGBD</value>
  10.       </parameter>
  11.       <parameter>
  12.         <name>password</name><value>El_Password_SGBD</value>
  13.       </parameter>
  14.       <parameter>
  15.         <name>driverClassName</name><value>El_Driver_SGBD</value>
  16.       </parameter>
  17.       <parameter>
  18.         <name>url</name><value>La_URL_Connection</value>
  19.       </parameter>
  20.     </ResourceParams>
  21. </Context>



Después, en el web.xml tendremos que declarar el recurso después de la sección :



xml
  1. <resource-ref>
  2.   <description>
  3.     referencia al recurso BDD
  4.   </description>
  5.     <res-ref-name>jdbc/El_Contexte</res-ref-name>
  6.     <res-type>javax.sql.DataSource</res-type>
  7.     <res-auth>Container</res-auth>
  8. </resource-ref>



Y para terminar, en el método init() del servlet, tendremos que recuperar el código de datos



java
  1. try {
  2.     Context initCtx = new InitialContext();
  3.     Context envCtx = (Context) initCtx.lookup("java:comp/env");
  4.     ds = (DataSource) envCtx.lookup("jdbc/El_Contexte");
  5. } catch (Exception e) {
  6.     // gestión del error
  7. }



Sabiendo que ds es una variable de instancia de tipo DataSource.
Cuando tengamos necesidad de acceder a la base de datos, haremos:



java
  1. Connection conn=ds.getConnection();



No olvidar de liberarlo co nun close al terminar.