UNIDAD 5: INTRODUCION A LAS BASES DE DATOS

TEMA JAVA SERVLET 14: GRAFICAS

Campos de graficos o de imagenes, se han convertido en elementos importantes de cualquier base de datos.

Para manejar este elemento con java-servlets existen dos maneras:

1.- Agregar un campo BLOB a la tabla en access y usar componentes especializados en imagenes tanto para subirlas como para desplegar la imagen.

Este metodo provoca que la base de datos crezca mucho recordar que una imagen aun de tipo jpg ocupa mucho espacio.

2.- El segundo metodo es mas sencillo, primero subir las imagenes ( de preferencia jpg) con un ftp normal a tusitio y despues usar el tag <img src> de html y ademas agregar un campo de texto llamado fotourl o foto a la tabla en access y grabar la direccion http de la imagen en este campo, por ejemplo http://programacionfacil.com/tusitio/pato.jpg

Despues solo cargar este tag imageurl en la pagina que se construira que no es otra cosa que el programa de busqueda con el despliegue del campo extra, como lo muestra el programa ejemplo.

Prog25.html

<HTML>
<FORM ACTION=http://programacionfacil.com:9090/tusitio/servlet/prog25 METHOD=post>
CLAVE A BUSCAR.:<INPUT TYPE=text NAME=CLAVE><BR>
<INPUT TYPE=submit VALUE=BUSCAR>
</FORM></HTML>

prog25.java

import java.io.*;
import java.util.*;
import java.net.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class prog25 extends HttpServlet
{
// globales se ocupan varias veces
PrintWriter pagina;
Connection canal = null;
ResultSet tabla= null;
Statement instruccion=null;
String sitiobase = "c:/progfacil/lauro/mibase.mdb";
String strcon= "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=" + sitiobase;
public void doPost (HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
pagina =response.getWriter();
response.setContentType("text/html");
pagina.println("<HTML>");
try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
canal=DriverManager.getConnection(strcon);
instruccion = canal.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
} catch(java.lang.ClassNotFoundException e){} catch(SQLException e) {};
String foto;
int clave = Integer.parseInt(request.getParameter("CLAVE"));
String q="select * from mitabla where clave="+clave;
try { tabla = instruccion.executeQuery(q);
pagina.println("<TABLE Border=10 CellPadding=5><TR>");
pagina.println("<th bgcolor=Green>CLAVE</th><th bgcolor=White>NOMBRE</th><th bgcolor=Red>EDAD</th></TR>");
while(tabla.next()) {
pagina.println("<TR>");
pagina.println("<TD>"+tabla.getString(1)+"</TD>");
pagina.println("<TD>"+tabla.getString(2)+"</TD>");
pagina.println("<TD>"+tabla.getString(3)+"</TD>");
pagina.println("</TR>");
foto=tabla.getString(4);
pagina.println("<img src="+ foto+">");
}; // fin while
pagina.println("</TABLE></CENTER></DIV>");
tabla.close(); } //fin try no usar ; al final de dos o mas catchs
catch(SQLException e) {};
try {canal.close();} catch(SQLException e) {};
pagina.println("</HTML>");
pagina.close();
};
public void destroy(){super.destroy();};
}

corrida: prog25.java

image330.jpg

Recordar que para que no salga el campo fotourl desplegado, solo su valor cargarlo en una variable string y meterlo al img src como se hizo en el programa ejemplo.

PROYECTO CONSTRUIR UN SISTEMA JAVA SERVLET COMPLETO INTEGRADO CON TODAS LAS OPERACIONES USANDO AL MENOS DOS TABLAS.

tan tan el curso se acabo y esten pendiente de los proximos de perl, perlscript, javascript, jscript, php, phyton, xml, apml, net, csharp, et al

Politica de Privacidad