Foro de elhacker.net

Programación => Java => Mensaje iniciado por: athlit en 15 Enero 2010, 10:04 am



Título: Devolver INFO a un JSP. Control de error.
Publicado por: athlit en 15 Enero 2010, 10:04 am
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.



Título: Re: Devolver INFO a un JSP. Control de error.
Publicado por: athlit en 25 Enero 2010, 13:12 pm
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:

Código:
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.


Título: Re: Devolver INFO a un JSP. Control de error.
Publicado por: Amerikano|Cls en 25 Enero 2010, 17:15 pm
Si estas dentro de un Servlet, puedes redirigirte a la pagina cuando pique el error.

Código
  1. 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


Título: Re: Devolver INFO a un JSP. Control de error.
Publicado por: athlit en 29 Enero 2010, 10:19 am
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!!


Título: Re: Devolver INFO a un JSP. Control de error.
Publicado por: Amerikano|Cls en 29 Enero 2010, 15:30 pm
De nada  ;)


Título: Re: Devolver INFO a un JSP. Control de error.
Publicado por: cyberserver en 1 Febrero 2010, 06:20 am
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


Título: Re: Devolver INFO a un JSP. Control de error.
Publicado por: athlit en 1 Febrero 2010, 10:18 am
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!


Título: Re: Devolver INFO a un JSP. Control de error.
Publicado por: Amerikano|Cls en 1 Febrero 2010, 11:47 am
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  ;)


Título: Re: Devolver INFO a un JSP. Control de error.
Publicado por: 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!


Título: Re: Devolver INFO a un JSP. Control de error.
Publicado por: Amerikano|Cls en 2 Febrero 2010, 04:45 am
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  ;)


Título: Re: Devolver INFO a un JSP. Control de error.
Publicado por: athlit en 2 Febrero 2010, 09:59 am
Buenas!
yo tengo el 6.7.1, y tengo la opción para ponerme el Tomcat como servidor, pero no lo tiene integrado. Debo ponerle la ruta del server y el user y pass que le haya defindo en la instalación de Tomcat. El Glassfish sí que viene integradísimo.
Anteriormente tuve el 6.5 y ahí sí venia con el Tomcat integrado, sin instalación a parte vamos.

Un saludo!