Devolver INFO a un JSP. Control de error.

Iniciado por athlit, 15 Enero 2010, 10:04 AM

0 Miembros y 1 Visitante están viendo este tema.

athlit

Buenas a todos,
tengo una duda/problema/consulta que si alguien me pudiera orientar se lo agradeceria mucho. Soy nuevo en java y poco a poco estoy metiendome en ello.
Voy a intentar explicarme lo mejor posible, estoy atascado en lo siguiente:

He realizado lo siguiente:
JSP: Interfaz gráfica
Clase 1: Encapsulamiento
Clase 2: Conexion
Clase 3: Busqueda

El JSP es un formulario que realiza una consulta a una base de datos por nº de serie (por ejemplo), llamo a la Clase 3 para realizar la consulta y la devuelvo al JSP para mostrarla. Hasta qui OK.

El problema lo tengo si no obtengo resultados en la busqueda, me da error y si le digo que si no hay resultados me de el siguiente error "throw new RuntimeException("No hay resultados")", la pagina me da el error que le detallo pero saliendo del formulario y detallando el error HTTP 500.

Como puedo devolver al JSP la INFO de que no hay error sin que me "pete" la página?

Si no me he explicado bien o falta INFO, pedidmelo y os detallo más.

Muchas gracias a todos y un saludo.


athlit

Hola a todos,
he pensado que quizás queda un poco al aire y no queda muy claro, estaría más claro lo que busco con un ejemplo directo del código.

Tengo lo siguiente:

public Encapsul buscar (String dni) throws SQLException, IOException
{
    String query = "select campo1, campo2, campo3, campo4 FROM usuarios WHERE campo1='" + dni + "'";
    Conexion conex = new Conexion();
    Statement stmt = conex.con.createStatement();
    ResultSet rs = stmt.executeQuery(query);
    Encapsul enc = new Encapsul();

    if (rs.next() == false)
    {
    throw new RuntimeException("Ep! El DNI No está");
    }else{
    enc.setcampo1(rs.getString("campo1"));
    enc.setcampo2(rs.getString("campo2"));
    enc.setcampo3(rs.getString("campo3"));
    enc.setcampo4(rs.getString("campo4"));
    }
    rs.close();
    stmt.close();
return enc;
}


Si no encuentra nada, da error la pagina con el mensaje que le pongo "Ep! El DNI No está" pero con el error 500.
Como puedo llevarme el mensaje al JSP y mostrarlo para que no me de error la pagina?? Si encuentra el resultado, lo muestro en el JSP actualmente, pero no tengo forma de hacer lo mismo con el error.

Muchas gracias a todos.

Amerikano|Cls

Si estas dentro de un Servlet, puedes redirigirte a la pagina cuando pique el error.

Código (java) [Seleccionar]
request.getRequestDispatcher("paginaError.jsp").forward(request, response);

O sino retorna un null en buscar() y lo manejas desde el jsp como quieras. Al menos con lo que te alcance a entender  :xD




Mi blog:
http://amerikanocls.blogspot.com

athlit

Hola AmeRiK@nO,
lo que me comentas de devolver null  es justo lo que necesitaba. Lo que uso es una simple clase en vez de un servlet, pero tomo nota de como hacerlo con un servlet, nunca se sabe.
Ahora ya solo me queda tratarlo desde el JSP, lo que me has dicho era lo que necesitaba y no sabia!
Muchas gracias por todo!

Un saludo!!

Amerikano|Cls





Mi blog:
http://amerikanocls.blogspot.com

cyberserver

Hola amigos, perdon si coloco temas donde no van pero necesito ayuda con JSP pero en servlest. y ya crees temas acerca de esto pero ni las moscas se arrivan a postear.

Quiero sabes si existe alguna forma de provar mis servlest sin tener k instalar un servidor local en mi computadora. quiero saber si existe algun framework donde solo le de PLAY y vea k pasa






athlit

Hola cyberserver,
quizás te da algún moderador el toque, pues para esto deberias haber abierto un tema nuevo.
No obstante, te respondo:
No se si te he entendido muy bien, pero quieres ejecutar un servlet sin instalar un servidor? Pues yo creo que simplemente desde el IDE podrás ejecutarlo, no?
NetBeans, WebSphere, Eclipse, etc.....

Un saludo!

Amerikano|Cls

Asi sea con IDE o sin el debes tener instalado el server, por ejemplo Netbeans los trae incorporados y se ejecutan con tu aplicacion, tienes el Tomcat o el GlassFish que es muy bueno, pero basicamente debes tener el server corriendo sino no hay manera o al menos es lo mas logico  ;)




Mi blog:
http://amerikanocls.blogspot.com

athlit

Para completar la respuesta: En el caso de NetBeans, con su instalación te instala ya el GlassFish. El Tomcat no y éste se debería instalar a parte.

Un saludo!

Amerikano|Cls

Cita de: athlit en  1 Febrero 2010, 12:16 PM
Para completar la respuesta: En el caso de NetBeans, con su instalación te instala ya el GlassFish. El Tomcat no y éste se debería instalar a parte.

Un saludo!

Tengo el netbeans 6.5 y viene con Tomcat  ;)




Mi blog:
http://amerikanocls.blogspot.com