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

servlet en blanco

Estas en el tema de servlet en blanco en el foro de Java en Foros del Web. Saludos, mi problema es el siguiente. Tengo un formulario httml desde el que llamo a un servlet. Este servlet conecta con la BBDD y quiero ...
  #1 (permalink)  
Antiguo 19/10/2005, 12:51
 
Fecha de Ingreso: octubre-2005
Mensajes: 3
Antigüedad: 18 años, 6 meses
Puntos: 0
servlet en blanco

Saludos, mi problema es el siguiente. Tengo un formulario httml desde el que llamo a un servlet. Este servlet conecta con la BBDD y quiero que genere una página con datos recogidos de una consulta.

La historia es que cuando llamo al servlet desde el formulario, el navegador me devuelve una página en blanco.
El contenedor es un Tomcat y lo he configurado de tal manera que el servlet esta dentro de la carpeta WEB-INF/classes y en el /lib tengo el servlet-api.jar y el mysq-connector...jar.
Os dejo el código y a ver si me podéis hechar una manilla. Gracias de antemano
Pablo
* En el descriptor de despliegue tengo estas líneas:

<servlet>
<servlet-name>a</servlet-name>
<servlet-class>a</servlet-class>
</servlet>
----------------------------------------
<servlet-mapping>
<servlet-name>a</servlet-name>
<url-pattern>/servlet/a</url-pattern>
</servlet-mapping>
-----------------------------------------
-----------------------------------------
* Código del servlet:

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

public class a extends HttpServlet

{

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

{

PrintWriter pagina;

pagina =response.getWriter();
response.setContentType("text/html");
pagina.println("<HTML>");
Connection conn = null;
ResultSet rs= null;
Statement stmt=null;

try{

String bd = "test";
String url = "jdbc:mysql://localhost/"+bd;
Class.forName("com.mysql.jdbc.Driver").newInstance ();
conn = DriverManager.getConnection(url,"root","n0future") ;
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSI TIVE,
ResultSet.CONCUR_UPDATABLE);

} catch(Exception e){};

try{

rs = stmt.executeQuery("SELECT * FROM prueba");

pagina.println("<TABLE Border=10>");



while(rs.next()) {

pagina.println("<TR>");
pagina.println("<TD>"+rs.getString("a")+"</TD>");
pagina.println("<TD>"+rs.getString("b")+"</TD>");
pagina.println("<TD>"+rs.getString("c")+"</TD>");
pagina.println("</TR>"); };

pagina.println("</TABLE>");

rs.close();

}catch(Exception e) {};

try {conn.close();} catch(Exception e) {};

pagina.println("</HTML>");

pagina.close();

};

public void destroy(){super.destroy();};

}
----------------------------------------
--------------------------------------
* Código del html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<HTML>

<FORM ACTION=http://localhost/Miweb/servlet/a METHOD=post>

<INPUT TYPE=submit VALUE=consultar>

</FORM></HTML>


</body>
</html>
  #2 (permalink)  
Antiguo 20/10/2005, 11:49
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 21 años, 10 meses
Puntos: 10
M e he dado cuenta que en el manejo de excepciones que tienes, dentro del catch no tienes nada, es decir, si ocurre una excecion simplemente no hace nada, y si tu servlet aparace en blanco seguramente alguna excepcion esta ocrriendo y al capturarla no hace nada. peropongo que en caso de excepcion imprimas el error.

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
  #3 (permalink)  
Antiguo 20/10/2005, 15:20
 
Fecha de Ingreso: octubre-2005
Mensajes: 3
Antigüedad: 18 años, 6 meses
Puntos: 0
Muchas gracias porque no había caído, fallo de principiante....
ME devuelve error en el driver de conexión. El connector lo tengo dentro de la carpeta classes, así que no se donde puede estar dando el fallo...
¿Quizá tenga que crear un metodo init para realizar la conexión?
Gracias
Esta es la excepción que me ha devuelto
Exception caught: com.mysql.jdbc.Driver
  #4 (permalink)  
Antiguo 20/10/2005, 15:28
 
Fecha de Ingreso: octubre-2005
Mensajes: 3
Antigüedad: 18 años, 6 meses
Puntos: 0
pabletejob

Perdona quise decir que el driver de conexion con la BBDD mysql esta en el direcotorio lib y no en classes. En classes evidentemente esta el servlet
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 13:55.