jdbc-servlet ayuda!!!!!!!

Fernando
30 de Junio del 2004
quiero ver si alguien me puede ayudar con lo siguiente:

estoy tratando de realizar un pequeño ejemplo de un servlet que devuelva una consulta sql, pero siempre me da el siguiente error usando el TOMCAT 5.0.19

java.lang.NullPointerException
at ConsultaServlet.doPost(ConsultaServlet.java:45)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)

aqui esta el codigo para ver si alguien me dice donde esta el error porque de verdad que e tratado de modificarlo de varias forma y siempre me da el mismo error:

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;


public class ConsultaServlet extends HttpServlet{
Connection con;

public void init(ServletConfig cf) throws ServletException
{
super.init(cf);
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

}
catch(ClassNotFoundException e)
{
System.err.print("error de para conectarse al driver" + e.getMessage());
}
try
{
con = DriverManager.getConnection("jdbc:odbc:MS Access DataBase");

}
catch(SQLException e)
{
System.err.print("error de sentencia sql 1" + e.getMessage());
}

}




public void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException
{

try
{
Statement stmt = con.createStatement();

ResultSet rs = stmt.executeQuery("SELECT * FROM empleados");
rs.next();

PrintWriter out = response.getWriter();

out.println("<html>");
out.println("<body>");
out.println("<table align=center border=1 cellPadding=1 cellSpacing=1 width="75%">");

out.println("<tr>");
out.println("<td>" + rs.getString("id") + "</td>");
out.println("<td>" + rs.getString("nombre") + "</td>");
out.println("</tr>");
out.println("</table>");
out.println("</body>");
out.println("</html>");
out.close();
}
catch(SQLException e)
{
}

}

}

muchisimas gracias de antemano.

Pierre A.
30 de Junio del 2004
Primero quiesiera saber que estas programando,
serà JSP no veo tags, el tomcat es para interpretar las JSP's.

Tienes creado tu puente odbc en tu computadora?
si no lo tienes crealo y le pones un nombre
con = DriverManager.getConnection("jdbc:odbc:nombredelpuente");

otra observacion es que en tu tabla tienes un campo "id" es texto o numerico, eso puede ser
si es numerico solo cambias la clausula getString por getInt(y la posision del campo en la tabla)...

Fernando
30 de Junio del 2004
estoy programando un html , el puente jdbc-odbc ya lo habia creado, y una de las muchas variaciones que le he hecho tratando de que me funcionara fue la del "id" ya que en la base de dato lo converti de numerico a texto. he tratado de madificarlo de varias forma y no consigo entender el error. lo mas logico era que como era un NullPointerException el problema estaria en el puntero que apunta hacia la tabla de resultados, pero en verda ya se me agotaron las ideas del origen del error.

Pierre A.
30 de Junio del 2004
Te voy a mandar a tu mail un ejemplo con JSP y HTML para que veas el codigo y lo compares con el tuyo, no lo tengo con un puente odbc, de todos modos espero que te sirva.

Suerte!!

Juan
30 de Junio del 2004
Me podrias mandar un Ejemplo con
Servlet y otro con JSP no me ejecuta ninguno Gracias

[email protected]

quekio
30 de Junio del 2004
a mi tb me ocurre lo mismo, es un simple programa java para ver una base d datos local (probando SimpleSQL), que se conecta de la misma manera:

public class BaseDeDatosSimpleSQL {

private String DRIVER = "org.simplesql.Driver";
static private Connection con;
static private Statement stmt;
static private ResultSet rs;

public BaseDeDatosSimpleSQL(String nombre) {
try {
Class.forName(DRIVER).newInstance();
Connection con = DriverManager.getConnection("jdbc:simplesql:" + nombre, "","");

}
catch(Exception e) {
e.printStackTrace();
}
}

public void MostrarTabla() {
try {
Statement stmt = con.createStatement();
String query = "SELECT * FROM people";
ResultSet rs = stmt.executeQuery(query);
while (rs.next()) {
String s = rs.getString("first_name");
String n = rs.getString("last_name");
System.out.println(s + " " + n);
}
}
catch(Exception e) {
e.printStackTrace();
}
}
}

en realidad ocurre lo mismo, usamos 'con' en dos funciones diferentes. Cuando lo usamos en otra funcion hemos perdido el puntero, o algo asi digo yo. Yo creo que tu error tb es ese, pero no se como se soluciona. Alguien sabe como tratar esto?? GRACIAS :)

quekio
30 de Junio del 2004
me sobre Connection en 'Connection con', joe q si era null. Perdonad por la mala pata