Bases de datos en la Web

E JSP ( Java Servet Pages ) naci� como respuesta al ASP de Microsoft y no nos vamos a detener demasiado en �l porque es pr�cticamente lo mismo s�lo con la diferencia de que lo que hay entre <% %> es c�digo Java.

Debes instalar el JDK1.2 y el JSWDK como ya hemos visto en el Cap�tulo 1.

.�Ejemplo

Adem�s de haber instalado JDK y JSP tambi�n necesitamos el JDBC que contiene los m�todos y clases para acceder a las bases de datos.

Primero creamos las clases para Acceder a la base de datos y para insertar registros en la misma. Para nuestro ejemplo son estas:

DataBaseSelect Sirve parea ejecutar un select * from Clientes

import java.sql.*; 
import java.util.Vector; 

public class DataBaseSelect { 

   private Vector result; 

   public DataBaseSelect() { 
      result = new Vector(); 
   } // constructor DataBaseSelect 

   public String connect() { 
      try { 
  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance(); 
  return "Driver Loaded!"; 
      } catch (Exception E) { 
  return "Unable to load driver."; 
      } 
   } 

   public String select() { 
      try { 
  Connection C = DriverManager.getConnection("jdbc:odbc:Ejemplo1"); 

  Statement Stmt = C.createStatement(); 

  ResultSet myResult = Stmt.executeQuery("SELECT * From Clientes"); 

  while (myResult.next()) { 
     result.addElement(myResult.getString(1)); 
  } 

         // Clean up 
         myResult.close(); 
         Stmt.close(); 
         C.close(); 
  return "Connection Success!"; 
      } catch (SQLException E) { 
  return "SQLException: " + E.getMessage(); 
      } 
   } 

   /** 
    * Accessor for result 
    **/ 
   public Vector getResult() { 
      return result; 
   } 

   /** 
    * Mutator for result 
    **/ 
   public void setResult(Vector avector) { 
     result = avector; 
   }  

} // class DataBaseSelect 

DataBase Insert para insertar un registo

import java.sql.*; 

public class DataBaseInsert { 

   String something; 

   public DataBaseInsert() { 
      something = null; 
   } // constructor DataBaseInsert 

   public String getSomething() { 
      return something; 
   } 

   public void setSomething(String asomething) { 
      something = asomething; 
   } 

   public String connect() { 
      try { 
  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance(); 
  return "Driver Loaded!"; 
      } catch (Exception E) { 
  return "Unable to load driver."; 
      } 
   } 

   public String insertSomething() { 
      try { 
  Connection C = DriverManager.getConnection("jdbc:odbc:Ejemplo1"); 

  Statement Stmt = C.createStatement(); 

  String insert = "INSERT INTO Clientes (Dni,Nombre,Apellido1,Apellido2) 
            VALUES ('"44279736","Alejandro","Garcia","Machado"')"; 

  int stmtInt = Stmt.executeUpdate(insert); 

  Stmt.close(); 
  C.close(); 
  return "Inserted row " + stmtInt; 
      } catch (SQLException E) { 
         return "SQLException: " +  E.getMessage(); 
      } catch (Exception E) { 
         return "Error " + E.toString(); 
      } 
   } 
} // class DataBaseInsert 

Se guardan en .java y se compilan.

Ahora creamos el fichero .jsp que usar� esas clases y nos devolver� el resultado como un script ASP

Aqu� tienes un ejemplo:

insert.jsp 
<html> 
<head> 
<title>Insertando registros en la base de datos </title> 
</head> 
<body> 
<bean name="insert" type="DataBaseInsert" scope="request"> 
<param something="something already in the bean"></bean> 

<% out.print(insert.connect()); %><br> 
<% insert.setSomething("a new something to insert"); %><br> 
<% out.print(insert.insertSomething()); %> 

</body> 
</html> 
Select.jps 
<html> 
<head> 
<title>Select everything from a database</title> 
</head> 
<body> 

<bean name="select" type="DataBaseSelect" scope="request"> 
</bean> 

<% out.print(select.connect()); %> 
<br> 
<% out.print(select.select()); %> 

<p>Format results 

<br> 
<%@ import="java.util.Vector" %> 
<% Vector aResult = select.getResult(); %> 

<table> 
<% for (int i=0; i < aResult.size(); i++) { %> 
   <tr> 
       <td> 
           <% out.print(aResult.elementAt(i)); %> 
       </td> 
   </tr> 
<% } %> 
</table> 

</body> 
</html> 

Cuando tengas los .class y los .jsp los debes guardar en un directorio del JSWDK y acceder a ellos con la llamada:

http://127.1.1.1:8080/select.jsp

La manera de hacer formularios y dem�s es bastante f�cil. Adem�s dentro del JSWDK vienen ejemplos muy buenos que te ense�an como hacerlos.

Como ves es bastante parecido al ASP.

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP