feed twitter facebook LinkedIn facebook

HTML » Página web para descargar archivos

Noviembre 21, 2006 por Víctor Cuervo . 47616 visitas 88 Comentarios Imprimir Imprimir

Una de las cosas que más pregunta la gente cuando está aprendiendo a hacer páginas web es sobre cómo puede poner ficheros para ser descargados. Yo me pregunto que cuantas de estas personas están pensado en poner canciones, videos o fotos más o menos picantes a descargar desde su página.

Continue reading Página web para descargar archivos...

Java » Número de líneas de un fichero

Noviembre 20, 2006 por Víctor Cuervo . 21516 visitas 16 Comentarios Imprimir Imprimir

La idea de este ejemplo es contar el número de líneas que tiene un fichero de texto utilizando las librerias Java IO del lenguaje Java. La forma en la que lo vamos a resolver no es la más optima, si bien es la más sencilla de implementar y entender.

De inicio deberemos de tener un fichero de texto con contenido. A dicho fichero lo llamaremos fichero.txt. Para abrir este fichero utilizaremos la clase FileReader. Con dicha clase obtendremos una referencia sobre el fichero que queremos conocer su número de líneas. Veamos la línea de código:

FileReader fr = new FileReader("fichero.txt");

Lo siguiente que vamos a hacer es leer el contenido del mismo. Para ello no nos vale el FileReader y nos tendremos que apoyar en un buffer. En este caso usamos un BufferedReader, el cual espera como parámetro la referencia que tenemos sobre el. Esta será nuestra línea de código:

BufferedReader bf = new BufferedReader(fr);

Apoyandonos en el método .readLine() del buffer, podremos ir leyendo el contenido de cada una de las filas del fichero. Esta lectura la podemos hacer mediante un bucle hasta que el contenido de la lectura sea null. Esto querra decir que ya no hay más contenido en el fichero.

En cada una de las lecturas de línea iremos incrementando un contador, el cual lleva la cuenta de las líneas del fichero

long lNumeroLineas = 0;
 
while ((sCadena = bf.readLine())!=null) {
  lNumeroLineas++;
}

En este proceso tenemos que tener especial cuidado con dos excepciones. La primera es FileNotFoundException. Esta se producirá si el nombre del fichero sobre el que queremos obtener la referencia, no existe. La segunda será IOException. Esta execpión es lanzada si se tienen problemas en el acceso al propio fichero o stream de entrada. Es por ello que todo nuestro código deberá de estar en un bucle try-catch que controle dichas excepciones.

try{
  //Código
} catch (FileNotFoundException fnfe){
  fnfe.printStackTrace();
} catch (IOException ioe){
  ioe.printStackTrace();
}

Solo nos quedará el mostrar por pantalla el número de líneas que hemos acumulado. Para ello necesitaremos la siguiente línea de código:

System.out.println("El fichero tiene " + lNumeroLineas + " lineas");

Java » Factorial de un número

Noviembre 19, 2006 por Víctor Cuervo . 105437 visitas 176 Comentarios Imprimir Imprimir

El factorial de un número es la multiplicación de los número que van del 1 a dicho número. Para expresar el factorial se suele utilizar la notación n!. Así la definición es la siguiente:

n! = 1 x 2 x 3 x 4 x 5 x ... x (n-1) x n.

Siguiendo esta simple expresión podríamos codificarlo en Java de la siguiente forma.

Lo primero es definir la variable que va a definir el factorial y la que definirá el número sobre el que vamos a calcular el factorial.

double factorial = 1;
// El número elegido para el factorial es el 30
double numero=30;

Lo siguiente es hacer el bucle en el cual iremos decrementando el número y multiplicando por el valor del factorial.

while ( numero!=0) {
  factorial=factorial*numero;
  numero--;
}

Solo nos quedará el volcar el valor por pantalla:

System.out.println(factorial);

Esta es una forma muy sencilla de implementar el factorial. Si bien, tenemos otra forma de implementarlo. En este caso el factorial se define de una forma recursiva. Esta definición fue realizada por el matemático frances Christian Kramp.

La definición viene a decir lo siguiente:

si n=0
  entonces el factorial es 1
si n  > 1
  entonces (n-1)! x n

Esta implementación se puede definir con recursividad en la programación Java de la siguiente forma:

public int factorial (double numero) {
  if (numero==0)
    return 1;
  else
    return numero * factorial(numero-1);
}

Como podemos ver es un calco de la definición de Christian Kramp. En esta definición el método se irá llamando recursivamente hasta que se llegue a calcular el factorial del número 0.

Para volcar el dato por pantalla tendremos la siguiente línea de código:

System.out.println(factorial(40));

Linea de Codigo » ¿Qué es una línea de código?

Noviembre 18, 2006 por Víctor Cuervo . 5981 visitas 2 Comentarios Imprimir Imprimir

Duarante estas dos semanas que llevo con el blog he podido comprobar que hay una gran cantidad de entradas desde Google que vienen buscando información sobre qué es una línea de código o un ejemplo de línea de código.

Continue reading ¿Qué es una línea de código?...

HTML » Tooltip, texto al pasar sobre una imágen

Noviembre 18, 2006 por Víctor Cuervo . 10625 visitas 9 Comentarios Imprimir Imprimir

Muchas veces habréis pasado sobe una imagen y habréis visto que sale como un pequeño texto en amarillo con un texto, normalmente relacionado con la imagen. Pues bien, eso es lo que se conoce como tooltip.

Continue reading Tooltip, texto al pasar sobre una imágen...

Java » Incluir una parte HTML en un JSP

Noviembre 17, 2006 por Víctor Cuervo . 9306 visitas 2 Comentarios Imprimir Imprimir

Cuando nos pongamos a codificar páginas JSP nos vamos a encontrar en muchos casos con que parte de nuestro código se está repitiendo.

Por ejemplo, cabeceras, botoneras, menús,... En esta situación no parece de recibo el que tengamos que poner este código en todas las páginas. Sobre todo porque tenemos que pensar en que una modificación a dicho código habría que tocar todas nuestras páginas. Y dependiendo de lo grande que sea nuestro site, esto podría ser inmanejable.

Es por ello que podemos utilizar la inclusión de código HTML en las páginas JSP. Para ello lo primero que tenemos que hacer es crear una página HTML con el código. En nuestro caso vamos a codificar un pie de página, con un copyright,...

Este sería nuestro código, el cual salvaremos como piedepagina.html:

 
<hr/>
<p align="center">
© Copyright 2006. Linea de Código.
 
 

Como podemos ver el código no es un código HTML con sus etiquetas <HTML> y <BODY>. Sino que es una parte de un código HTML.

Lo siguiente que tenemos que hacer es utilizarlo en todas las páginas JSP donde lo necesitemos. Para ello tenemos que utilizar la directiva <jsp:include> de la siguiente forma.

<jsp:include page="piedepagina.html" />

Esta directiva puede ser incluida en todas nuestras páginas. De tal forma tendremos el HTML centralizado en dicho fichero HTML.

Además de con ficheros HTML podemos utilizar ficheros JSP para hacer el include

<jsp:include page="piedepagina.jsp" />

Aunque esto será otra historia...

HTML » Predeterminar valor en un combo

Noviembre 16, 2006 por Víctor Cuervo . 5764 visitas 2 Comentarios Imprimir Imprimir

Cuando estamos poniendo un combo en nuestr apágina web nos ayudaremos de las etiquetas <SELECT> y <OPTION>. La primera se encarga de definir el propio combo, mientras que la segunda se repetirá por cada una de las opciones que queramos añadir.

Continue reading Predeterminar valor en un combo...

Java » Actualizar datos con JDBC

Noviembre 15, 2006 por Víctor Cuervo . 13486 visitas 4 Comentarios Imprimir Imprimir

Uno de los procesos habituales, a la hora de realizar mantenimiento sobre una tabla, es el de la actualización.

Mediante las actualizaciones podremos modificar los valores de datos que ya tengamos insertados en nuestras tablas.

Para este menester, SQL nos proporciona la sentencia UPDATE. Veamos un poco más en detalle como construir este tipo de sentencias.

UPDATE tabla SET campo=valor WHERE campo=condicio

Se actualizarán todas las filas que cumplan la condición (WHERE campo=condicion). Y la actualización consistirá en asignar nuevos valores a ciertas columnas (SET campo=valor).

Si queremos actualizar más de una columan, utilizaremos una coma entre cada actualización de campo.

UPDATE tabla SET campo1=valor1, campo2=valor2 WHERE campo=condicio

Para poder ejecutar la sentencia de UPDATE mediante JDBC deberemos de seguir los siguientes pasos. El primero de ellos será el de conectar contra la base de datos sobre la que queremos lanzar la actualización. Para ello utilizamos las clases Connection y DriverManager.

String sDriver = "com.mysql.jdbc.Driver";
String sURL = "jdbc:mysql://localhost:3306/lineadecodigo";
 
Class.forName(sDriver).newInstance();
con = DriverManager.getConnection(sURL,"root","password");

El proceso de conexión se divide en dos partes. La primera es donde se carga el driver de la base de datos. Es decir, el fichero que implementa el protocolo JDBC para la base de datos a la que estemos accediendo. En nuestro caso, al ser una base de datos MySQL, utilizamos "com.mysql.jdbc.Driver".

La segunda parte del proceso de conexión consiste en abrir una conexión contra la base de datos. Esto lo podemos conseguir mediante el DriverManager y el método .getConnection(). Dicho método requiere del usuario y password con el que nos estemos conectando a la base de datos. Así como la URL donde se encuentra la base de datos.

Una vez que tenemos la conexión preparamos la sentencia. Esto lo hacemos apoyandonos en la clase PreparedStatement. El PreparedStatement se utiliza cuando se va a realizar una sustitución de alguno de los valores de la condición, sino, se podría utilizar un Statement o directamente ejecutar la sentencia

PreparedStatement stmt;
stmt = con.prepareStatement("UPDATE tabla SET campo1=14 WHERE campoindice=?");
stmt.setString(1,"14");

Ya, solo nos quedará ejecutar la actualización. Para ello hay que ejecutar el método .executeUpdate() del PreparedStatement.

Dicho método devolverá el número de filas que se han actualizado. Será un valor entero de 0 al número de filas actualizadas.

int retorno = stmt.executeUpdate();

En el caso que en el proceso, desde la conexión a la ejecución de la sentencia, ocurriese un error, se produciría una excepción SQLException. Es por ello que no nos queda más remedio que capturar dicha excepción y ejecutar todo el código entre la sentencia try-catch.

Java » Crear un mapping a un servlet

Noviembre 14, 2006 por Víctor Cuervo . 6742 visitas 3 Comentarios Imprimir Imprimir

El proceso de puesta en servicio de un servlet podríamos resumirlo en dos pasos. El primero de ellos es crear el servlet. Para ello implementaremos una clase java que extienda de HttpServlet, la cual implementará la funcionalidad de negocio que estemos resolviendo.

Pero de nada nos sirve el crear un servlet si no lo publicicamos al exterior. Este mecanismo de publicación es lo que se conoce como mapping.

La idea del mapping es la de asociar una URL o un patrón de una URL a un servlet.

Para ello deberemos de configurar el descriptor de despliegue de la aplicación. Este es el fichero que encontramos en /WEB-INF/web.xml

En este fichero necesitaremos de la etiqueta <servlet-mapping>. Esta etiqueta nos permitirá definir un nuevo mapping. Anidado a esta etiqueta encontramos dos: la primera especificará el nombre del servlet sobre el que queremos establecer el mapping <servlet-name>, mientras que la segunda especificará sobre que URL se realiza el mapping <url-pattern>.

<servlet-mapping>
  <servlet-name>MiServlet</servlet-name>
  <url-pattern>/URLDelServlet</url-pattern>
</servlet-mapping>

Con este mapping toda las peticiones que se hagan a la URL http://miservidor/URLDelServet serán procesadas por el Servlet "MiServlet".

HTML » Formulario para pedir passwords

Noviembre 13, 2006 por Víctor Cuervo . 5489 visitas 3 Comentarios Imprimir Imprimir

Si estamos con construyendo un formulario HTML, bien para dar un alta de un usuario o bien para autentificarle en un proceso de login, vamos a necesitar el utilizar campos de entrada donde no se pueda leer lo que se escribe.

Continue reading Formulario para pedir passwords...