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

Fallo en Formulario JSP

Estas en el tema de Fallo en Formulario JSP en el foro de Java en Foros del Web. Buenas tardes, de nuevo estoy por aquí. Tengo un fallo que no se cómo solucionar. La cuestión es que tengo un formulario Web en JSP ...
  #1 (permalink)  
Antiguo 28/07/2008, 08:28
Isdiar
Invitado
 
Mensajes: n/a
Puntos:
Exclamación Fallo en Formulario JSP

Buenas tardes,

de nuevo estoy por aquí. Tengo un fallo que no se cómo solucionar. La cuestión es que tengo un formulario Web en JSP (formInsertarUsuario.jsp), y los datos de este formulario son enviados a insertarUsuario.jsp, éste los monta en un objeto "Usuarios". La cuestión es que cuando se ejecuta insertarUsuario.jsp, en la barra de direcciones del navegador pone "http://localhost:8100/doukonia/insertarUsuario.jsp", sin embargo, me aparece el contenido de index.jsp

Este fallo desaparece cuando en insertarUsuario.jsp comento la línea que dice "usuario = new Usuarios();", aunque en tal caso, me da un error de que "usuario" no ha sido definido.

¿Qué puede estar pasando? Gracias!




formInsertarUsuario.jsp
Cita:
<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Usuario - Insertar</title>
</head>


<body>

<img src="LogoDoukonia.gif" alt="Logo" width="242" height="65" align="right" longdesc="Logo Doukonia" />

<h1>Usuario - Insertar</h1>
<h2>Index - Insertar Usuario</h2>

<form id="form1" name="form1" method="post" action="insertarUsuario.jsp">

<label>Nombre: <input type="text" name="nombre" id="nombre" maxlength=30 /></label>
<label>Apellidos: <input type="text" name="apellidos" id="apellidos" maxlength=70 size=50 /></label>
<p>
<label>DNI: <input type="text" name="dni" id="dni" maxlength=10 /></label>
</p>
<p>
<label>Teléfono Particular: <input type="text" name="telefonoParticular" id="telefonoParticular" /></label>
<label>Teléfono Trabajo: <input type="text" name="telefonoTrabajo" id="telefonoTrabajo" /></label>
</p>
<p>
<label>Teléfono Móvil: <input type="text" name="telefonoMovil" id="telefonoMovil" /></label>
<label>Correo-e: <input type="text" name="correoE" id="correoE" maxlength=50 size=40 /></label>
</p>
<p>
<label>Fecha Nacimiento: <input type="text" name="fechaNacimiento" id="fechaNacimiento" value="01/01/1900" maxlength=10 size=14 /></label>
</p>
<p>
<label>Observaciones: <textarea name="observaciones" id="observaciones" rows=7 cols=50 maxlength=1000></textarea></label>
</p>
<p>
<label>Domicilio: <input type="text" name="domicilio" id="domicilio" maxlength=100 size=50 /></label>
</p>
<p>
<label>Código Postal: <input type="text" name="codigoPostal" id="codigoPostal" size=12 /></label>
<label>Localidad: <input type="text" name="localidad" id="localidad" maxlength=70 size=35 /></label>
</p>
<p>
<label>Provincia: <input type="text" name="provincia" id="provincia" maxlength=50 /></label>
<label>País: <input type="text" name="pais" id="pais" maxlength=50 /></label>
</p>
<p>
<label>Contacto Familia 1: <textarea name="contactoFamilia1" id="contactoFamilia1" rows=7 cols=50 maxlength=1000></textarea></label>
</p>
<p>
<label>Contacto Familia 2: <textarea name="contactoFamilia2" id="contactoFamilia2" rows=7 cols=50 maxlength=1000></textarea></label>
</p>
<p>
<label>Contacto Familia 3: <textarea name="contactoFamilia3" id="contactoFamilia3" rows=7 cols=50 maxlength=1000></textarea></label>
</p>




<p>
<label><input type="submit" name="aceptar" id="aceptar" value="Aceptar" /></label>
<label><input type="submit" name="cancelar" id="cancelar" value="Cancelar" /></label>
<label><input type="reset" name="limpiar" id="limpiar" value="Limpiar Datos" /></label>
</p>

</form>


</body>


</html>

insertarUsuario.jsp
Cita:
<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*, utilidades.*, doukonia.capaNegocio.*, doukonia.capaAccesoDatos.*" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Usuario - Insertar</title>
</head>


<body>

<%


FachadaBdDoukonia conexion;
Usuarios usuario;

// <%@ page import="utilidades.*, doukonia.capaNegocio.*, doukonia.capaAccesoDatos.*" %

// Conexión a BD
conexion = new FachadaBdDoukonia ("doukonia", "localhost", "root", "root");
if(!conexion.conectar()) {
out.println("ERROR: " + conexion.getDescripcionError());
return;
}



// Almaceno los datos capturados en un Objeto "Usuarios"
//usuario = new Usuarios();
usuario.setNombre(request.getParameter("nombre"));
usuario.setApellidos(request.getParameter("apellid os"));
usuario.setDni(request.getParameter("dni"));
usuario.setTelefonoParticular(request.getParameter ("telefonoParticular"));
usuario.setTelefonoTrabajo(request.getParameter("t elefonoTrabajo"));
usuario.setTelefonoMovil(request.getParameter("tel efonoMovil"));
usuario.setCorreoE(request.getParameter("correoE") );
usuario.setFechaNacimiento(request.getParameter("f echaNacimiento"));
usuario.setObservaciones(request.getParameter("obs ervaciones"));
usuario.setDomicilio(request.getParameter("domicil io"));
usuario.setCodigoPostal(request.getParameter("codi goPostal"));
usuario.setLocalidad(request.getParameter("localid ad"));
usuario.setProvincia(request.getParameter("provinc ia"));
usuario.setPais(request.getParameter("pais"));
usuario.setContactoFamilia1(request.getParameter(" contactoFamilia1"));
usuario.setContactoFamilia2(request.getParameter(" contactoFamilia2"));
usuario.setContactoFamilia3(request.getParameter(" contactoFamilia3"));
out.println(usuario.toString());



// Inserción en la Base de Datos
if(conexion.addUsuario(usuario)) {
out.println("Insercion correcta.");
}
else {
out.println("ERROR: " + conexion.getDescripcionError());
}


%>

</body>


</html>


Constructores de Usuarios.java
Cita:
public Usuarios() {/*
this.nombre = "";
this.apellidos = "";
this.dni = "";
this.telefonoParticular = 0;
this.telefonoTrabajo = 0;
this.telefonoMovil = 0;
this.correoE = "";
this.fechaNacimiento = new Fecha();
this.observaciones = "";
this.domicilio = "";
this.codigoPostal = 0;
this.localidad = "";
this.provincia = "";
this.pais = "";
this.contactoFamilia1 = "";
this.contactoFamilia2 = "";
this.contactoFamilia3 = "";*/
}

public Usuarios(String nombre, String apellidos, String dni, int telefonoParticular, int telefonoTrabajo, int telefonoMovil, String correoE, Fecha fechaNacimiento, String observaciones, String domicilio, int codigoPostal, String localidad, String provincia, String pais, String contactoFamilia1, String contactoFamilia2, String contactoFamilia3) {
this.nombre = nombre;
this.apellidos = apellidos;
this.dni = dni;
this.telefonoParticular = telefonoParticular;
this.telefonoTrabajo = telefonoTrabajo;
this.telefonoMovil = telefonoMovil;
this.correoE = correoE;
this.fechaNacimiento = fechaNacimiento;
this.observaciones = observaciones;
this.domicilio = domicilio;
this.codigoPostal = codigoPostal;
this.localidad = localidad;
this.provincia = provincia;
this.pais = pais;
this.contactoFamilia1 = contactoFamilia1;
this.contactoFamilia2 = contactoFamilia2;
this.contactoFamilia3 = contactoFamilia3;
}
  #2 (permalink)  
Antiguo 29/07/2008, 01:26
Avatar de Llave  
Fecha de Ingreso: abril-2005
Ubicación: Galicia
Mensajes: 52
Antigüedad: 19 años
Puntos: 1
Respuesta: Fallo en Formulario JSP

Pregunta básica...
Cuando dices que te manda al index.jsp
¿Has comprobado si te ha insertado el usuario?

Por que... aunque no se te pare en la plantilla insertarUsuario.jsp Si el usuario se inserta correctamente, es que ha ejecutado correctamente todos los pasos del jsp. Podrías empezar por ahí.

El que se te pare en insertarUsuario.jsp si comentas la linea de new Usuarios() es normal. Por que al querer hacer la siguiente linea no reconoce la variable y el sistema falla (y tiende a quedarse donde falló).

Yo de ti, primero miraba que te inserte el usuario. Si es así, luego mira por qué te vuelve al index.
Suerte.
  #3 (permalink)  
Antiguo 29/07/2008, 03:17
Isdiar
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Fallo en Formulario JSP

No, el usuario no lo inserta, eso ya lo comprobé.
Es una paranoia, porque no entiendo el porqué hace eso...

A ver qué puede ser... Un saludo.
  #4 (permalink)  
Antiguo 06/08/2008, 06:25
Isdiar
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Fallo en Formulario JSP

El error está en la zona que dice:
Cita:
usuario.setNombre(request.getParameter("nombre"));
usuario.setApellidos(request.getParameter("apellid os"));
usuario.setDni(request.getParameter("dni"));
usuario.setTelefonoParticular(request.getParameter ("telefonoParticular"));
usuario.setTelefonoTrabajo(request.getParameter("t elefonoTrabajo"));
usuario.setTelefonoMovil(request.getParameter("tel efonoMovil"));
usuario.setCorreoE(request.getParameter("correoE") );
usuario.setFechaNacimiento(request.getParameter("f echaNacimiento"));
usuario.setObservaciones(request.getParameter("obs ervaciones"));
usuario.setDomicilio(request.getParameter("domicil io"));
usuario.setCodigoPostal(request.getParameter("codi goPostal"));
usuario.setLocalidad(request.getParameter("localid ad"));
usuario.setProvincia(request.getParameter("provinc ia"));
usuario.setPais(request.getParameter("pais"));
usuario.setContactoFamilia1(request.getParameter(" contactoFamilia1"));
usuario.setContactoFamilia2(request.getParameter(" contactoFamilia2"));
usuario.setContactoFamilia3(request.getParameter(" contactoFamilia3"));
Lo he comprobado porque cuando comento esa zona no me redirecciona la pantalla a index.jsp, aunque en la barra del navegador indique que está en insertarUsuario.jsp
He comprobado si es una línea la que da el error, pero no, son todas las líneas que dan el mismo error. O sea, comento todas las lineas excepto 1 y ocurre eso que comento. Comento esa línea y descomento la siguiente, y ocurre lo mismo...

La cosa es que anteriormente no ocurría eso. ¿Por qué ahora sí? ¿Qué puede estar pasando? ¿Cómo lo soluciono?

Muchas gracias. Un saludo.
  #5 (permalink)  
Antiguo 06/08/2008, 06:39
Isdiar
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Fallo en Formulario JSP

Ahora descubro que si comento también la línea que viene justo después de
Cita:
usuario.setNombre(request.getParameter("nombre"));
usuario.setApellidos(request.getParameter("apellid os"));
usuario.setDni(request.getParameter("dni"));
usuario.setTelefonoParticular(request.getParameter ("telefonoParticular"));
usuario.setTelefonoTrabajo(request.getParameter("t elefonoTrabajo"));
usuario.setTelefonoMovil(request.getParameter("tel efonoMovil"));
usuario.setCorreoE(request.getParameter("correoE") );
usuario.setFechaNacimiento(request.getParameter("f echaNacimiento"));
usuario.setObservaciones(request.getParameter("obs ervaciones"));
usuario.setDomicilio(request.getParameter("domicil io"));
usuario.setCodigoPostal(request.getParameter("codi goPostal"));
usuario.setLocalidad(request.getParameter("localid ad"));
usuario.setProvincia(request.getParameter("provinc ia"));
usuario.setPais(request.getParameter("pais"));
usuario.setContactoFamilia1(request.getParameter(" contactoFamilia1"));
usuario.setContactoFamilia2(request.getParameter(" contactoFamilia2"));
usuario.setContactoFamilia3(request.getParameter(" contactoFamilia3"));
que es esta
Cita:
out.println(usuario.toString());
algunas líneas, al estar sin comentar, no dan el fallo ese.

Las líneas que no dan el fallo cuando "out.println(usuario.toString());" está comentado son:
Cita:
usuario.setDni(request.getParameter("dni"));
usuario.setTelefonoParticular(request.getParameter ("telefonoParticular"));
usuario.setTelefonoTrabajo(request.getParameter("t elefonoTrabajo"));
usuario.setTelefonoMovil(request.getParameter("tel efonoMovil"));
usuario.setCorreoE(request.getParameter("correoE") );
usuario.setObservaciones(request.getParameter("obs ervaciones"));
usuario.setDomicilio(request.getParameter("domicil io"));
usuario.setCodigoPostal(request.getParameter("codi goPostal"));
usuario.setLocalidad(request.getParameter("localid ad"));
usuario.setProvincia(request.getParameter("provinc ia"));
usuario.setPais(request.getParameter("pais"));
usuario.setContactoFamilia1(request.getParameter(" contactoFamilia1"));
usuario.setContactoFamilia2(request.getParameter(" contactoFamilia2"));
usuario.setContactoFamilia3(request.getParameter(" contactoFamilia3"));
Y las líneas que dan el fallo con la línea "out.println(usuario.toString());" comentada son:
Cita:
usuario.setNombre(request.getParameter("nombre"));
usuario.setApellidos(request.getParameter("apellid os"));
usuario.setFechaNacimiento(request.getParameter("f echaNacimiento"));
  #6 (permalink)  
Antiguo 06/08/2008, 08:36
Usuario no validado
 
Fecha de Ingreso: junio-2008
Mensajes: 386
Antigüedad: 15 años, 10 meses
Puntos: 10
Respuesta: Fallo en Formulario JSP

Hola,

Y porque no vas debuggeando tus variables?

String nombre=request.getParameter("nombre");
System.out.println("Nombre: "+nombre);

Probablemente alguna tenga valor null.
  #7 (permalink)  
Antiguo 06/08/2008, 10:22
Isdiar
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Fallo en Formulario JSP

Gracias Bunburyscom,

he hecho lo que me dijiste y todo está correcto. O sea, en el insertarUsuario.jsp pongo:
Cita:
String nombre = request.getParameter("nombre");
out.println("<br />nombre: " + nombre);
String apellidos = request.getParameter("apellidos");
out.println("<br />apellidos: " + apellidos);
String dni = request.getParameter("dni");
out.println("<br />dni: " + dni);
String telefonoParticular = request.getParameter("telefonoParticular");
out.println("<br />telefonoParticular: " + telefonoParticular);
String telefonoTrabajo = request.getParameter("telefonoTrabajo");
out.println("<br />telefonoTrabajo: " + telefonoTrabajo);
String telefonoMovil = request.getParameter("telefonoMovil");
out.println("<br />telefonoMovil: " + telefonoMovil);
String correoE = request.getParameter("correoE");
out.println("<br />correoE: " + correoE);
String fechaNacimiento = request.getParameter("fechaNacimiento");
out.println("<br />fechaNacimiento: " + fechaNacimiento);
String observaciones = request.getParameter("observaciones");
out.println("<br />observaciones: " + observaciones);
String domicilio = request.getParameter("domicilio");
out.println("<br />domicilio: " + domicilio);
String codigoPostal = request.getParameter("codigoPostal");
out.println("<br />codigoPostal: " + codigoPostal);
String localidad = request.getParameter("localidad");
out.println("<br />localidad: " + localidad);
String provincia = request.getParameter("provincia");
out.println("<br />provincia: " + provincia);
String pais = request.getParameter("pais");
out.println("<br />pais: " + pais);
String contactoFamilia1 = request.getParameter("contactoFamilia1");
out.println("<br />contactoFamilia1: " + contactoFamilia1);
String contactoFamilia2 = request.getParameter("contactoFamilia2");
out.println("<br />contactoFamilia2: " + contactoFamilia2);
String contactoFamilia3 = request.getParameter("contactoFamilia3");
out.println("<br />contactoFamilia3: " + contactoFamilia3);

Cuando escribo todos los datos del formulario y Acepto, me aparecen los datos correctamente. Por tanto, el fallo está en Usuario.java

Voy a revisarlo. Gracias.
  #8 (permalink)  
Antiguo 06/08/2008, 17:15
Isdiar
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Fallo en Formulario JSP

El fallo estaba en el método fechaNacimiento.setFecha(String), pero lo curioso es que anteriormente funcionaba correctamente, pues todos mis métodos estaban probados. Incluso el fichero JSP que estamos analizando estaba ya probado en cuestión a la fecha de nacimiento...

La informática, sin lugar a dudas, a veces es una mierda... en serio... y encima no se cobra como se debería...

Un saludo e infinitas gracias...
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 14:07.