Hoy tengo una duda, y es que no se mucho de JSP, y estoy creando una Web en intranet que maneje una BD. Pues bien, cuando voy a insertar un usuario mediante un formulario en HTML (en "formInsertarUsuario.jsp"), mando los datos a "insertarUsuario.jsp", y cuando envía la información, el explorador Web me dice lo siguiente:
Cita:
java.lang.NoSuchMethodError: doukonia.capaAccesoDatos.FachadaBdDoukonia.addUsua rio(Ldoukonia/capaNegocio/Usuarios;)Z
at jrun__insertarUsuario2ejsp14._jspService(jrun__ins ertarUsuario2ejsp14.java:87)
at jrun.jsp.runtime.HttpJSPServlet.service(HttpJSPSer vlet.java:43)
at jrun.jsp.JSPServlet.service(JSPServlet.java:119)
at jrun.servlet.ServletInvoker.invoke(ServletInvoker. java:91)
at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvok erChain.java:42)
at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequ estDispatcher.java:252)
at jrun.servlet.ServletEngineService.dispatch(Servlet EngineService.java:527)
at jrun.servlet.http.WebService.invokeRunnable(WebSer vice.java:168)
at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRu nnable(ThreadPool.java:451)
at jrunx.scheduler.WorkerThread.run(WorkerThread.java :66)
jrun.jsp.runtime.UncaughtPageException: Unhandled exception thrown from /insertarUsuario.jsp:11
at jrun.jsp.runtime.Utils.handleException(Utils.java: 57)
at jrun.jsp.runtime.JRunPageContext.handlePageExcepti on(JRunPageContext.java:384)
at jrun__insertarUsuario2ejsp14._jspService(jrun__ins ertarUsuario2ejsp14.java:100)
at jrun.jsp.runtime.HttpJSPServlet.service(HttpJSPSer vlet.java:43)
at jrun.jsp.JSPServlet.service(JSPServlet.java:119)
at jrun.servlet.ServletInvoker.invoke(ServletInvoker. java:91)
at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvok erChain.java:42)
at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequ estDispatcher.java:252)
at jrun.servlet.ServletEngineService.dispatch(Servlet EngineService.java:527)
at jrun.servlet.http.WebService.invokeRunnable(WebSer vice.java:168)
at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRu nnable(ThreadPool.java:451)
at jrunx.scheduler.WorkerThread.run(WorkerThread.java :66)
at jrun__insertarUsuario2ejsp14._jspService(jrun__ins ertarUsuario2ejsp14.java:87)
at jrun.jsp.runtime.HttpJSPServlet.service(HttpJSPSer vlet.java:43)
at jrun.jsp.JSPServlet.service(JSPServlet.java:119)
at jrun.servlet.ServletInvoker.invoke(ServletInvoker. java:91)
at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvok erChain.java:42)
at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequ estDispatcher.java:252)
at jrun.servlet.ServletEngineService.dispatch(Servlet EngineService.java:527)
at jrun.servlet.http.WebService.invokeRunnable(WebSer vice.java:168)
at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRu nnable(ThreadPool.java:451)
at jrunx.scheduler.WorkerThread.run(WorkerThread.java :66)
jrun.jsp.runtime.UncaughtPageException: Unhandled exception thrown from /insertarUsuario.jsp:11
at jrun.jsp.runtime.Utils.handleException(Utils.java: 57)
at jrun.jsp.runtime.JRunPageContext.handlePageExcepti on(JRunPageContext.java:384)
at jrun__insertarUsuario2ejsp14._jspService(jrun__ins ertarUsuario2ejsp14.java:100)
at jrun.jsp.runtime.HttpJSPServlet.service(HttpJSPSer vlet.java:43)
at jrun.jsp.JSPServlet.service(JSPServlet.java:119)
at jrun.servlet.ServletInvoker.invoke(ServletInvoker. java:91)
at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvok erChain.java:42)
at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequ estDispatcher.java:252)
at jrun.servlet.ServletEngineService.dispatch(Servlet EngineService.java:527)
at jrun.servlet.http.WebService.invokeRunnable(WebSer vice.java:168)
at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRu nnable(ThreadPool.java:451)
at jrunx.scheduler.WorkerThread.run(WorkerThread.java :66)
Os dejo a continuación el código de "doukonia.capaAccesoDatos.FachadaBdDoukonia.addUsua rio", cual está probado y funcionando en Eclipse:
Cita:
public boolean addUsuario(Usuarios usuario) { // Correcto
String comandoSql;
comandoSql = "INSERT INTO usuarios (nombre, apellidos, dni, telefonoParticular, telefonoMovil, correoE, fechaNacimiento, observaciones, contactoFamilia1, telefonoTrabajo, domicilio, codigoPostal, localidad, provincia, pais, contactoFamilia2, contactoFamilia3) VALUES (";
comandoSql += "'" +usuario.getNombre()+ "', ";
comandoSql += "'" +usuario.getApellidos()+ "', ";
comandoSql += "'" +usuario.getDni()+ "', ";
comandoSql += "'" +usuario.getTelefonoParticular()+ "', ";
comandoSql += "'" +usuario.getTelefonoMovil()+ "', ";
comandoSql += "'" +usuario.getCorreoE()+ "', ";
comandoSql += "'" +new Fecha(usuario.getFechaNacimientoString()).getStrin gAnnoMesDia()+ "', ";
comandoSql += "'" +usuario.getObservaciones()+ "', ";
comandoSql += "'" +usuario.getContactoFamilia1()+ "', ";
comandoSql += "'" +usuario.getTelefonoTrabajo()+ "', ";
comandoSql += "'" +usuario.getDomicilio()+ "', ";
comandoSql += "'" +usuario.getCodigoPostal()+ "', ";
comandoSql += "'" +usuario.getLocalidad()+ "', ";
comandoSql += "'" +usuario.getProvincia()+ "', ";
comandoSql += "'" +usuario.getPais()+ "', ";
comandoSql += "'" +usuario.getContactoFamilia2()+ "', ";
comandoSql += "'" +usuario.getContactoFamilia3()+ "'";
comandoSql += ") ";
if (this.realizarAccion(comandoSql) != true)
return(false);
else
return(true);
} // END_addUsuario
String comandoSql;
comandoSql = "INSERT INTO usuarios (nombre, apellidos, dni, telefonoParticular, telefonoMovil, correoE, fechaNacimiento, observaciones, contactoFamilia1, telefonoTrabajo, domicilio, codigoPostal, localidad, provincia, pais, contactoFamilia2, contactoFamilia3) VALUES (";
comandoSql += "'" +usuario.getNombre()+ "', ";
comandoSql += "'" +usuario.getApellidos()+ "', ";
comandoSql += "'" +usuario.getDni()+ "', ";
comandoSql += "'" +usuario.getTelefonoParticular()+ "', ";
comandoSql += "'" +usuario.getTelefonoMovil()+ "', ";
comandoSql += "'" +usuario.getCorreoE()+ "', ";
comandoSql += "'" +new Fecha(usuario.getFechaNacimientoString()).getStrin gAnnoMesDia()+ "', ";
comandoSql += "'" +usuario.getObservaciones()+ "', ";
comandoSql += "'" +usuario.getContactoFamilia1()+ "', ";
comandoSql += "'" +usuario.getTelefonoTrabajo()+ "', ";
comandoSql += "'" +usuario.getDomicilio()+ "', ";
comandoSql += "'" +usuario.getCodigoPostal()+ "', ";
comandoSql += "'" +usuario.getLocalidad()+ "', ";
comandoSql += "'" +usuario.getProvincia()+ "', ";
comandoSql += "'" +usuario.getPais()+ "', ";
comandoSql += "'" +usuario.getContactoFamilia2()+ "', ";
comandoSql += "'" +usuario.getContactoFamilia3()+ "'";
comandoSql += ") ";
if (this.realizarAccion(comandoSql) != true)
return(false);
else
return(true);
} // END_addUsuario
Los ficheros JSP que intervienen aquí son los siguientes:
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="get" 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>
<!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="get" 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 import="utilidades.*, doukonia.capaNegocio.*, doukonia.capaAccesoDatos.*" %>
<html>
<head>
<title>Usuario - Insertar</title>
</head>
<body>
<%
FachadaBdDoukonia conexion;
Usuarios usuario = new Usuarios();
// Conexión a BD
conexion = new FachadaBdDoukonia ("doukonia", "localhost", "root", "root");
if(!conexion.conectar()) {
out.println("<br>"+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"));
// Inserción en la Base de Datos
if(conexion.addUsuario(usuario)) {
out.println("Insercion correcta.");
}
else {
out.println("ERROR: " + conexion.getDescripcionError());
}
%>
</body>
</html>
<html>
<head>
<title>Usuario - Insertar</title>
</head>
<body>
<%
FachadaBdDoukonia conexion;
Usuarios usuario = new Usuarios();
// Conexión a BD
conexion = new FachadaBdDoukonia ("doukonia", "localhost", "root", "root");
if(!conexion.conectar()) {
out.println("<br>"+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"));
// Inserción en la Base de Datos
if(conexion.addUsuario(usuario)) {
out.println("Insercion correcta.");
}
else {
out.println("ERROR: " + conexion.getDescripcionError());
}
%>
</body>
</html>
A ver si me pueden ustedes hechar una manita, que no se el por qué del error... Muchas gracias. Un saludo!