Foros del Web » Programación para mayores de 30 ;) » Java »

Conectarse a una base de datos en postgreSQL utilizando JSP

Estas en el tema de Conectarse a una base de datos en postgreSQL utilizando JSP en el foro de Java en Foros del Web. Hola, necesito hacer una conexión a una base de datos creada en PostgreSQL utilizando JSP, esto lo estoy haciendo en Linux Fedora Core 4 utilizando ...
  #1 (permalink)  
Antiguo 17/11/2005, 16:44
 
Fecha de Ingreso: noviembre-2005
Mensajes: 9
Antigüedad: 18 años, 5 meses
Puntos: 1
Conectarse a una base de datos en postgreSQL utilizando JSP

Hola, necesito hacer una conexión a una base de datos creada en PostgreSQL utilizando JSP, esto lo estoy haciendo en Linux Fedora Core 4 utilizando Tomcat5.

El código que utilizo es el siguiente:

<%
import java.sql.*;
class PostgreSQLTest
public static void main (String args[]) {
Connection conn = null; //Objeto principal de conexiᅵ Variable de tipo Connection llamada conn
try{
Class.forName("org.postgresql.Driver"); //Conector JDBC
//Conexiᅵ al servidor de datos
conn = DriverManager.getConnection("jdbc:postgresql://localhost:8080/Facturacion_Zara","postgres","");
if (conn != null){
System.out.println("Conexiᅵ Ok...");
Statement stmt = conn.createStatement(); //Crea espacio de trabajo
stmt.setQueryTimeout(30); //Especifica el tiempo de espera antes de abortar la transacciᅵ.
ResultSet res = stmt.executeQuery("SELECT * FROM Clientes "); //Accesar a la tabla Clientes
ResultSetMetaData metadata = res.getMetaData(); //Ejecuta la consulta
while(res.next()){
System.out.println(res.getString(1) + "\t" + res.getString(2));
}
//Cierra las conexiones
res.close();
stmt.close();
conn.close();
}
}catch(SQLException ex){
System.out.println("SQLException: " + ex.getMessage());
}catch(ClassNotFoundException ex){
System.out.println("ClassNotFoundException: " + ex.getMessage());
}
}
}
%>





Y me marca el siguiente error:




Estado HTTP 500 -

type Informe de Excepción

mensaje

descripción El servidor encontró un error interno () que hizo que no pudiera rellenar este requerimiento.

excepción

org.apache.jasper.JasperException: No se puede compilar la clase para JSP
org.apache.jasper.compiler.DefaultErrorHandler.jav acError(java.lang.String, java.lang.Exception) (/usr/lib/libjasper5-compiler-5.0.30.jar.so)
org.apache.jasper.compiler.ErrorDispatcher.javacEr ror(java.lang.String, java.lang.Exception) (/usr/lib/libjasper5-compiler-5.0.30.jar.so)
org.apache.jasper.compiler.Compiler.generateClass( java.lang.String[]) (/usr/lib/libjasper5-compiler-5.0.30.jar.so)
org.apache.jasper.compiler.Compiler.compile(boolea n, boolean) (/usr/lib/libjasper5-compiler-5.0.30.jar.so)
org.apache.jasper.compiler.Compiler.compile(boolea n) (/usr/lib/libjasper5-compiler-5.0.30.jar.so)
org.apache.jasper.compiler.Compiler.compile() (/usr/lib/libjasper5-compiler-5.0.30.jar.so)
org.apache.jasper.JspCompilationContext.compile() (/usr/lib/libjasper5-compiler-5.0.30.jar.so)
org.apache.jasper.servlet.JspServletWrapper.servic e(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, boolean) (/usr/lib/libjasper5-compiler-5.0.30.jar.so)
org.apache.jasper.servlet.JspServlet.serviceJspFil e(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String, java.lang.Throwable, boolean) (/usr/lib/libjasper5-compiler-5.0.30.jar.so)
org.apache.jasper.servlet.JspServlet.service(javax .servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) (/usr/lib/libjasper5-compiler-5.0.30.jar.so)
javax.servlet.http.HttpServlet.service(javax.servl et.ServletRequest, javax.servlet.ServletResponse) (/usr/lib/libservletapi5-5.0.30.jar.so)
org.apache.catalina.valves.ErrorReportValve.invoke (org.apache.catalina.Request, org.apache.catalina.Response, org.apache.catalina.ValveContext) (/usr/lib/libcatalina-5.0.30.jar.so)
org.apache.coyote.tomcat5.CoyoteAdapter.service(or g.apache.coyote.Request, org.apache.coyote.Response) (/usr/lib/libcatalina-5.0.30.jar.so)
org.apache.coyote.http11.Http11Processor.process(j ava.io.InputStream, java.io.OutputStream) (/usr/lib/libtomcat-http11-5.0.30.jar.so)
org.apache.coyote.http11.Http11Protocol$Http11Conn ectionHandler.processConnection(org.apache.tomcat. util.net.TcpConnection, java.lang.Object[]) (/usr/lib/libtomcat-http11-5.0.30.jar.so)
org.apache.tomcat.util.net.TcpWorkerThread.runIt(j ava.lang.Object[]) (/tmp/libtomcat-util-5.0.30.jar.sotsou4j.so)
org.apache.tomcat.util.threads.ThreadPool$ControlR unnable.run() (/tmp/libtomcat-util-5.0.30.jar.sotsou4j.so)
java.lang.Thread.run() (/usr/lib/libgcj.so.6.0.0)

causa raíz

Compile failed; see the compiler error output for details.
org.apache.tools.ant.taskdefs.Javac.compile() (/usr/lib/libant-1.6.2.jar.so)
org.apache.tools.ant.taskdefs.Javac.execute() (/usr/lib/libant-1.6.2.jar.so)
org.apache.jasper.compiler.Compiler.generateClass( java.lang.String[]) (/usr/lib/libjasper5-compiler-5.0.30.jar.so)
org.apache.jasper.compiler.Compiler.compile(boolea n, boolean) (/usr/lib/libjasper5-compiler-5.0.30.jar.so)
org.apache.jasper.compiler.Compiler.compile(boolea n) (/usr/lib/libjasper5-compiler-5.0.30.jar.so)
org.apache.jasper.compiler.Compiler.compile() (/usr/lib/libjasper5-compiler-5.0.30.jar.so)
org.apache.jasper.JspCompilationContext.compile() (/usr/lib/libjasper5-compiler-5.0.30.jar.so)
org.apache.jasper.servlet.JspServletWrapper.servic e(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, boolean) (/usr/lib/libjasper5-compiler-5.0.30.jar.so)
org.apache.jasper.servlet.JspServlet.serviceJspFil e(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String, java.lang.Throwable, boolean) (/usr/lib/libjasper5-compiler-5.0.30.jar.so)
org.apache.jasper.servlet.JspServlet.service(javax .servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) (/usr/lib/libjasper5-compiler-5.0.30.jar.so)
javax.servlet.http.HttpServlet.service(javax.servl et.ServletRequest, javax.servlet.ServletResponse) (/usr/lib/libservletapi5-5.0.30.jar.so)
org.apache.catalina.valves.ErrorReportValve.invoke (org.apache.catalina.Request, org.apache.catalina.Response, org.apache.catalina.ValveContext) (/usr/lib/libcatalina-5.0.30.jar.so)
org.apache.coyote.tomcat5.CoyoteAdapter.service(or g.apache.coyote.Request, org.apache.coyote.Response) (/usr/lib/libcatalina-5.0.30.jar.so)
org.apache.coyote.http11.Http11Processor.process(j ava.io.InputStream, java.io.OutputStream) (/usr/lib/libtomcat-http11-5.0.30.jar.so)
org.apache.coyote.http11.Http11Protocol$Http11Conn ectionHandler.processConnection(org.apache.tomcat. util.net.TcpConnection, java.lang.Object[]) (/usr/lib/libtomcat-http11-5.0.30.jar.so)
org.apache.tomcat.util.net.TcpWorkerThread.runIt(j ava.lang.Object[]) (/tmp/libtomcat-util-5.0.30.jar.sotsou4j.so)
org.apache.tomcat.util.threads.ThreadPool$ControlR unnable.run() (/tmp/libtomcat-util-5.0.30.jar.sotsou4j.so)
java.lang.Thread.run() (/usr/lib/libgcj.so.6.0.0)

nota La traza completa de la causa de este error se encuentra en los archivos de diario de Apache Tomcat/5.0.
Apache Tomcat/5.0





He tratado de documentarme un poco pero no tengo idea de que se trate este error, agradecería que me pudieran orientar sobre esto, ya que soy nueva utilizando estas herramientas (JSP, PostgreSQL y Linux Fedora Core 4).

Por su atención muchas gracias.
  #2 (permalink)  
Antiguo 17/11/2005, 17:34
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 21 años, 10 meses
Puntos: 10
Estas haciendo las cosas mal.
Los import no deben ir dentro de los scriptles normales, deben ir al comienso de la pagina asi

<%@ page import="java.sql.*"%>
<%@ page import="java.util.*"%>

segundo, los JSP no llevan el metodo main ni ningun otro que tu debas hacer para que corran.

tercero, los System.out.println te daran salida a la consola y no al navegador.

Creo que aun te falta camino por recorrer antes de hacer un JSP que se conecte a una base de datos. Estas confundiendo el hacer un JSP con el hacer una clase normal en Java.

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
  #3 (permalink)  
Antiguo 17/11/2005, 18:04
 
Fecha de Ingreso: noviembre-2005
Mensajes: 9
Antigüedad: 18 años, 5 meses
Puntos: 1
Gracias goncafa, tienes razon, realmente me encuentro confundida en cuanto a esto, gracias por tu ayuda, me ha servido mucho.

He cambiado el código por el siguiente:

<%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %>

<%@ page import=" java.net.*" %>

<%@ page import="java.util.*" %>

<%@ page import="java.io.*" %>

<%@ page import="javax.sql.*" %>

<%@ page import="java.sql.*" %>

<%@ page import="javax.naming.*" %>


<%

try

{

try {

Class.forName("org.postgresql.Driver");

} catch (ClassNotFoundException e) {

out.println("<h1>No se encuentra el Driver: " + e.getMessage() + "</h1>" );

}

String driver = "org.postgresql.Driver";

String connectString = "jdbc:postgresql://localhost:8080/Facturacion_Zara";

String user = "postgres";

String password = "";

Class.forName(driver).newInstance();

Connection conn = DriverManager.getConnection(connectString, user, password);

ResultSet rs = conn.createStatement().executeQuery("select * from tipo_dominio");

out.println("El número de columnas obtenido es " + rs.getMetaData().getColumnCount());

//Imprime el nombre de la primera columna de la tabla

String colName = rs.getMetaData().getColumnLabel(1);

out.println("El nombre de la primera columna es " + colName + "<br><br>");

//Se imprime el valor de la primera columna de cada fila

while(rs.next()){

Object o=rs.getObject(colName);

out.println(colName+" "+o+"<br>");

}

}

catch (Exception e)

{

out.print("Excepcion : " + e.getMessage() + "\n");

}

%>



Y ahora el error que me marca es el siguiente:

No se encuentra el Driver: org.postgresql.Driver
Excepcion : org.postgresql.Driver


Muchas gracias, espero que me puedas aconsejar un poco en cuanto a esto.
  #4 (permalink)  
Antiguo 17/11/2005, 18:19
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 21 años, 10 meses
Puntos: 10
Ok, ahora todo lo que necesitas es poner el Driver JDBC de Postgresql en tu carpeta WEB-INF/lib

El driver si no lo tienes lo puedes bajar de www.postgresql.com, busca en la seccion de download y baja hasta donde diga JDBC, te bajas la version adecuada a tu JDK.

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
  #5 (permalink)  
Antiguo 19/11/2005, 19:46
 
Fecha de Ingreso: noviembre-2005
Mensajes: 9
Antigüedad: 18 años, 5 meses
Puntos: 1
Muchas gracias

Gracias :D me sirvió de mucho tu ayuda goncafa, ya pude hacer la conexión a la base de datos, ahora necesito saber algunas instrucciones en JSP para insertar, modificar, eliminar y hacer consulta de registros en postgres, ya estoy informandome respecto a esto, por tu ayuda muchas gracias y si tienes algún tutorial o página que me pudieras recomendar te lo agradecería muchísimo.

Saludos Christina.
  #6 (permalink)  
Antiguo 19/11/2005, 20:20
Avatar de stock  
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 19 años, 10 meses
Puntos: 53
para hacer leso que quieres de isert's, update's y delete's es exactamente igual como lo haces en JAVA, bueno, yo siempre e dicho que un JSP en realidad es una clase de JAVA nadamas que mas facil para desarrollar servlet's........

anyway lo haces asi:

Statement st = conn.createStatement();
st.execute("insert into tabla (campo1,campo2) values('algo','contenido')");

y ya!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:13.