Enredados - Servicios InformáticosHospedaje web, servidores virtuales, alta en buscadores

Informacion corporativaHospedaje webPromocion de webs, alta y posicionamiento en buscadoresDesarrollo de aplicaciones, diseño webConsultoria informaticaSoporte tecnico y comercial

14 Dec 2017 
Centro de Soporte » Base de Conocimiento » Configuracion de bases de datos en un pool de conexiones JNDI
 Configuracion de bases de datos en un pool de conexiones JNDI
Solución

Deben crear un archivo llamado META-INF/context.xml que contenga algo parecido a:

<?xml version="1.0" encoding="UTF-8"?>
<Context path="" docBase="CONTEXTO" debug="0" reloadable="true" crossContext="true">
  <Resource name="jdbc/NOMBRE_BD" auth="Container" type="javax.sql.DataSource"
               maxActive="20" maxIdle="10" maxWait="200"
               username="USUARIO_BD" password="CONTRASENA_BD"
               driverClassName="com.mysql.jdbc.Driver"
               url="jdbc:mysql://localhost:3306/NOMBRE_BD"/>
</Context>

Donde CONTEXTO es el directorio del contexto (/CONTEXTO o /CONTEXTO.war, en el raíz, no dentro de public_html), NOMBRE_BD es el nombre de la base de datos, USUARIO_BD es el usuario de la base de datos y CONTRASENA_BD es su contraseña.

De esta forma la aplicación se verá en http://www.dominio.com/CONTEXTO/ . Para que se vea en http://www.dominio.com/ tendrá que usar el contexto public_html y meter la aplicación ahí, según se explica en este enlace. Para poder usar JNDI de esta manera, tendrá que escribirnos para que nosotros configuremos el Resource dentro del server.xml

También deben crear un archivo WEB-INF/web.xml parecido a:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
                        http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    version="2.4">
  <description>DESCRIPCION DE LA APLICACION</description>
  <resource-ref>
      <description>DESCRIPCION DE LA CONEXION</description>
      <res-ref-name>jdbc/NOMBRE_BD</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
  </resource-ref>
</web-app>

Y por último, un ejemplo de JSP que use esto podría ser:

<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<sql:query var="rs" dataSource="jdbc/NOMBRE_BD">
select ID, DATOS from TABLA
</sql:query>

<html>
  <head>
    <title>PRUEBA bd</title>
  </head>
  <body>

  <h2>Resultados</h2>  
<c:forEach var="row" items="${rs.rows}">
    ID: ${row.ID}<br/>
    Datos: ${row.DATOS}<br/>
</c:forEach>
  </body>
</html>

Necesitarán instalar la versión 1.1.x de las librerías jstl.jar y standard.jar en el directorio WEB-INF/lib. Pueden encontrarlas en el proyecto Jakarta Taglib Standard 1.1

Tengan cuidado al hacer los archivos .xml, el más mínimo error en cualquiera de ellos hará que la aplicación ni siquiera se inicie.

Más información en la página oficial de Tomcat



Detalles del artículo
Identificador del Artículo: 49
Creado en: 20 Jul 2006 11:37 AM

 Esta respuesta fue útil  Esta respuesta no fue útil

 Volver
 Identificador [Contraseña perdida] 
Email:
Contraseña:
Recordarme:
 
 Buscar
 Opciones del Artículo
Inicio | Registrar | Enviar Consulta | Base de Conocimiento | Asistente | Noticias | Descargas
Idioma:

 Sistema de Atencion al Cliente eSupport v3.60.04