JSP (Java Server Page) - JSP, Tomcat, DB2

 
Vista:

JSP, Tomcat, DB2

Publicado por Nelawarez (2 intervenciones) el 13/12/2006 18:10:23
Hola a todos
Tengo el siguiente problema:
Pretendo ejecutar una aplicación Java en Eclipse 3.2 contra Tomcat 4.1 en local, pero llamando a una Base de Datos DB2 remota. La configuración de la BD parece estar bien, puesto que consigo hacer ping y conectarla mediante el driver JDBC correspondiente.
Pero al ejecutar la aplicación en el servidor Tomcat me sale el siguiente error:

Connection Error: javax.naming.NameNotFoundException : El nombre jdbc no este asociado a este contexto

El código que ejecuto está en un fichero .jsp con el contenido:
<%@page contentType="text/html"%>
<html>
<head><title>Test de Conexión Via Pool</title></head>
<LINK href="../theme/Master.css" rel="stylesheet" type="text/css">
<body>

<%@page import ="java.io.*,java.util.*,java.sql.*,javax.sql.*,javax.naming.*" %>

<%

DataSource ds = null;
String user = null;
String password = null;
String owner = null;
String source = null;

user = "user";
password = "password";
source = "jdbc/formularisDS";

if(request.getParameter("source")!=null)
{
source = request.getParameter("source");
}

try{
Thread.currentThread().setContextClassLoader(org.apache.naming.java.javaURLContextFactory.class.getClassLoader());

Properties properties = new Properties();
properties.setProperty(Context.INITIAL_CONTEXT_FACTORY,
"org.apache.naming.java.javaURLContextFactory");

// Cojemos los datos del contexto
Context ctx = new InitialContext(properties);
// Buscamos el objeto Datasource en el JNDI
ds = (DataSource)ctx.lookup(source);

// Creamos la conexión física a la BD
Connection conn = null;
conn = ds.getConnection(user, password);
%>

<br><input class="frminputtext" type="button" value="Tornar" onclick="javascript:history.back();">
<br>

<h1>CONNEXIÓ CORRECTA UTILITZANT EL DATA SOURCE DE <%= source %></h1>

<br>

<PRE STYLE="font-size: 10pt;">
// Comentarios
</PRE>

<%
conn.close();

}catch(Exception e){
out.println("Connection Error: " + e.getClass().getName() + " : " + e.getMessage());
}

%>
</body>
</html>

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:JSP, Tomcat, DB2

Publicado por camus (89 intervenciones) el 15/12/2006 04:12:57
Hola, te aconsejo que no hagas la conexion en la JSP, ya que los errores dentro de una JSP son mas dificiles de resolver que una clase Java, además que por patrones lo que estas haciendo no es lo correcto

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:JSP, Tomcat, DB2

Publicado por Nelawarez (2 intervenciones) el 15/12/2006 16:31:09
Gracias por tu respuesta, pero no entiendo eso último.
¿A qué te refieres con que por patrones lo que hago no es correcto?
¿Qué tendría que hacer?
Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:JSP, Tomcat, DB2

Publicado por camus (89 intervenciones) el 16/12/2006 06:21:57
Hola, lo que pasa es que debes utilizar el patron DAO para que el acceso a base de datos este separado de la lògica de negocio, el lunes te pongo algunos link para que si no conoces esto del patron DAO puedeas ver a que me refiero.

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar