Estoy intentando pasar los parametros del REQUEST (en este caso los valores de las cajas de texto) a un metodo de la clase Java que los recibe y los procesa. Accede a la clase correctamente pero al hacer GETPARAMETER da nulo.
Al principio la clase era un servlet pero tampoco me funcionaba. Tambien he probado con un POST desde el formulario JSP pero creo que lo correcto es un evento en el boton que llame al metodo de la clase.
Pongo el codigo, gracias por echarle un vistazo, fijo que es una tonteria el porque no me funciona.
ARCHIVO JSP
Código PHP:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@page import="paquete.NuevoP"%>
<%@page import="paquete.NuevoPe"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form>
<label for="lblNombre">Nombre: </label><input
name="NOMBRE" type="text" class="form" id="NOMBRE" size="25" /><br />
<label for="lblEdad">Edad: </label><input name="EDAD" type="text"
class="form" id="EDAD" size="25" /><br />
<label for="lblEstatura">Estatura: </label><input name="ESTATURA"
type="text" class="form" id="ESTATURA" size="25" /> <br>
<br>
<input type="submit" name=GRABAR value="Insertar" onClick=<%NuevoPe.Nuevo(request);%>>
</form>
</body>
</html>
CLASE JAVA
Código PHP:
package paquete;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.servlet.http.HttpServletRequest;
public class NuevoPe {
public NuevoPe()
{
}
public static void Nuevo(HttpServletRequest request)
{
if(request.getParameter("GRABAR") != null)
{
// objetos de enlace
Connection canal = null;
Statement instruccion=null;
String strcon = "jdbc:mysql://localhost/mibase?user=root&password=root";
// abriendo canal o enlace en su propio try-catch
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
canal=DriverManager.getConnection(strcon);
instruccion = canal.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
} catch(java.lang.ClassNotFoundException e){} catch(SQLException e) {} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
};
//cargando los campos a grabar
// excepto clave porque en mysql es de tipo auto-increment
String nombre = request.getParameter("NOMBRE");
int edad = Integer.parseInt(request.getParameter("EDAD"));
float estatura =Float.parseFloat(request.getParameter("ESTATURA"));
// insert into tabla(nombre,edad,estatura) values('juan', 15, 1.88);
String q="insert into mitabla(nombre,edad,estatura) values(\"" +nombre+"\","+edad+","+estatura+"); ";
try {
// agregando renglon (insert)
int n=instruccion.executeUpdate(q);
//avisando que se hizo la instruccion
System.out.println("REGISTRO INSERTADO");
} catch(SQLException e) {System.out.println(e);};
try{
instruccion.close();
canal.close();
} catch(SQLException e) {System.out.println(e);};
}
}
}
Muchas gracias por la ayuda, un saludo.