Estoy mirando como va todo esto de JSP y servlets para principiantes, he buscado informacion y a la hora de practicar quiero hacer lo siguiente.
Utilizo Netbeans y he instalado un servidor MySQL . Tambien uso apache TOmcat
Quiero insertar unos datos a traves de un servlet en java en una tabla de la siguiente manera:
Primero me creo un nuevo proyecto WebServices a traves de Netbeans e instalo el conector mysql-connector-java-5.1.23-bin.jar en la libreria
A continuacion me creo una clase de java que establece la conexion con la base de datos:
Código:
package ejemplo1.Services;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Conexion {
public static Connection getConnection() throws ClassNotFoundException, SQLException{
Connection databaseconnection = null;
Class.forName("com.mysql.jdbc.Driver");
databaseconnection = DriverManager.getConnection("jdbc:mysql://localhost/prueba2", "root", "pepe");
return databaseconnection;
}
}
Luego me creo un servlet. Lo que quiero es recoger los datos que introduzco por la barra de navegador y se me guarden en la base de datos.
Es decir, de esta manera: http://localhost:8080/WebApplication5_ServletSQL/ServletController?isbn=1547&titulo=quijote
Código:
@WebServlet(name = "ServletController", urlPatterns = {"/ServletController"})
public class ServletController extends HttpServlet {
/**
* Processes requests for both HTTP
* <code>GET</code> and
* <code>POST</code> methods.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String isbn= request.getParameter("isbn");
String titulo = request.getParameter("titulo");
try {
Connection conn = Conexion.getConnection();
PreparedStatement pst= conn.prepareStatement("INSERT INTO libro VALUES(?,?)");
pst.setString(1, isbn);
pst.setString(2, titulo);
pst.execute();
}catch (ClassNotFoundException |SQLException ex){
ex.printStackTrace();
}
}
// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
La base de datos esta bien, todo esta bien implementado, es tan sencillo que no necesita de más. Pero por alguna extraña razon no se guardan los parametros en la base de datos.
Alguna idea?.
Un saludo.