Artículos
HTML

Página web para descargar archivos

Creado: 21/Nov/2006 Actualizado: 25/Ago/2021

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.

Pero tenemos que tener claro que Internet se fundamenta y subsiste por el intercambio de información. Y estas descargas no dejan de ser otra forma de intercambio de información. Aunque desde el punto de vista judicial se esté intentando «poner puertas al campo». Pero, bueno, esto es para un post sobre «pajas mentales en la internet».

Crear un enlace para descargar un fichero es muy sencillo. Lo primero que tenemos que hacer es subir el fichero a nuestro servidor. Esto lo podemos hacer de dos formas:

  1. Bien que el servidor tenga instalado un sistema de subida de ficheros desde una página web. En este caso será tan sencillo como el utilizar un formulario web.
  2. Bien utilizar un cliente de FTP. Este es un programa que se ejecutará en nuestra máquina, el cual sirve para conectarse para un sistema remoto y pasar ficheros desde local a este sistema. Son muy sencillos de utilizar. Por ejemplo te puedes decargar clientes FTP desde Softonic.

Una vez que hayamos subido nuestro fichero al servidor deberemos de construir la página HTML para descargarlo. Para descargarlo simplemente deberemos de crear un enlace al fichero.

Los enlaces se crean mediante la etiqueta A y utilizando el atributo href. En dicho atributo deberemos de poner el nombre del fichero que queremos descargarnos. Así, si nuestro fichero se llama lineadecodigo.txt tendremos que poner la siguiente línea de código:

<a href="lineadecodigo.txt">Descargar fichero lineadecodigo.txt</a>

En este código hay que tener especial cuidado con el path en el que hemos subido el fichero. Así, no suele ser bueno subirlo en el directorio raiz. A si que es recomendable el crear un fichero de descargas. En este caso, la línea de código quedaría de la siguiente forma:

<a href="/descargas/lineadecodigo.txt">Descargar fichero lineadecodigo.txt</a>

Y ¿qué pasa cuando pincho al enlace?. Pues bien, todo depende del ordenador y navegador donde estemos ejecutando la página web. Y es que el navegador interpretará el tipo (conociendo la extensión del fichero) del fichero y verá si tiene un programa asociado para abrirlo.

Así, si estamos en un sistema Windows, lo más probable es que el documento .txt lo abra el NotePad, los .mp3 un reproductor de música (WinAmp, Windows Media Player,…) y así por todas las extensiones configuradas en tu sistema.

Si el navegador no conoce la extensión del fichero solo indica que si se quiere guardar en local. La opción de guardar siempre aparec, independientemente de la extensión.

Como buena práctica, es recomendable que al lado del fichero a descargar se indique la extensión y tamaño del mismo, con el fin de facilitar su manipulación al usuario que visite nuestra web.

Veamos cómo quedaría nuestro ejemplo

Linea de Codigo (.txt, 1Kb)

Código Fuente

Descárgate el código fuente de Página web para descargar archivos
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star

Vídeos sobre HTML

Disfruta también de nuestros artículos sobre HTML en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test HTML

¿Te atreves a probar tus habilidades y conocimiento en HTML con nuestro test?

Test HTML
Artículos
Java

Número de líneas de un fichero

Creado: 20/Nov/2006 Actualizado: 26/Sep/2021

La idea de este ejemplo es contar el número de líneas que tiene un fichero de texto utilizando las librerías 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);

Apoyándonos 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 querrá 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 excepció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");

Código Fuente

Descárgate el código fuente de Número de líneas de un fichero
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star

Vídeos sobre Java

Disfruta también de nuestros artículos sobre Java en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Java

¿Te atreves a probar tus habilidades y conocimiento en Java con nuestro test?

Test Java
Artículos
Java

Factorial de un número

Creado: 19/Nov/2006 Actualizado: 08/Dic/2023

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.

Factorial mediante bucles while

Siguiendo esta simple expresión podríamos codificarlo en Java de una forma sencilla utilizando un bucle while que nos permita realizar el decremento de valores.

Lo primero es definir la variable que va a contener 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. En este caso nos apoyamos en un bucle while, el cual terminará cuando le valor del número llegue a 1.

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

Solo nos quedará el volcar el valor por pantalla el valor del factorial:

System.out.println(factorial);

Factorial de un número de forma recursiva

El uso de un bucle while 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 deberemos de invocar al método factorial() con el valor del número del que queremos calcular su factorial y mostrarlo por consola mediante un objeto System.out. Lo cual nos generamos en la siguiente línea de código:

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

De esta manera ya tenemos dos formas de poder calcular un factorial. ¿Cuál estabas utilizando hasta ahora? ¿Cambiarás? Cuéntanos tus opiniones en los comentarios de la página.

Código Fuente

Descárgate el código fuente de Factorial de un número
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star
Factorial de un número

Vídeos sobre Java

Disfruta también de nuestros artículos sobre Java en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Java

¿Te atreves a probar tus habilidades y conocimiento en Java con nuestro test?

Test Java
Artículos
Blog

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

Creado: 18/Nov/2006 Actualizado: 28/Ene/2025

Durante 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.

Y es que el nombre del blog no se eligió al azar. La verdad es que me llevo más de una noche sin dormir para elegirle el título.

Cuando un programador se enfrenta a un problema, lo analiza y al final acaba generando líneas de código en su programa. Estas líneas de código son las sentencias del lenguaje que esté utilizando, las cuales harán que el programa funcione. Su mínima expresión es una única línea de código.

Veamos algunos ejemplos de cómo escribir «Hola Mundo» en diferentes lenguajes y veremos un claro ejemplo de una línea de código en dichos lenguajes:

ASP

Response.Write("Hola Mundo");

Java

System.out.println("Hola Mundo");

HTML

<html>
<body>
Hola mundo
</body>
</html>

Javascript

document.write("Hola Mundo");

XML

<?xml version="1.0" ?>
<linea>Hola Mundo</linea>

Una de las métricas que se pueden utilizar para medir la eficiencia en la programación es la línea de código. ¿Cuántas líneas de código necesita un programador para resolver su problema? ¿Cuántas líneas de código es capaz de generar, de media, el programador?

Vamos, que finalmente el programador vive para escribir esas líneas de código.

Así que, desde línea de código, buscamos poder ofrecer a esos programadores la línea de código que les ayude a resolver su problema. Espero serles de ayuda.

Artículos
HTML

Tooltip, texto al pasar sobre una imágen

Creado: Actualizado: 06/Feb/2025

Muchas veces habréis pasado sobre 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.

Lo primero que vamos a hacer es poner una imagen en nuestra página web. Para ello utilizaremos la etiqueta IMG. Dentro de esta etiqueta tenemos el atributo src que nos indicará el nombre de la imagen que queremos mostrar.

Así nos quedará la siguiente línea de código:

<img src="foto.jpg">

Si queremos incluirle el tooltip, deberemos de utilizar el atributo title, al cual le daremos como valor el texto que queramos que salga en el tooltip. Veamos cómo queda la línea de código:

<img title="Foto de linea de codigo" src="foto.jpg">

Lo bueno del atributo title es que lo podemos utilizar en diferentes etiquetas HTML. Es decir, que no solo está limitado a la etiqueta IMG.

Y veamos el resultado, pasa sobre la imagen…

Veamos el comportamiento de algunos navegadores:

Código Fuente

Descárgate el código fuente de Tooltip, texto al pasar sobre una imágen
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star

Vídeos sobre HTML

Disfruta también de nuestros artículos sobre HTML en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test HTML

¿Te atreves a probar tus habilidades y conocimiento en HTML con nuestro test?

Test HTML
Artículos
Java

Incluir una parte HTML en un JSP

Creado: 17/Nov/2006 Actualizado: 06/Sep/2021

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. Es por ello que vamos a ver cómo podemos incluir una parte HTML en un JSP y de desta forma optimizar nuestros desarrollos.

La repetición de código se nos puede dar por ejemplo en 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">
&copy; Copyright 2006-2011.
<a href="https://lineadecodigo.com">Línea de Código</a>
</p>

Como podemos ver el código no es un código HTML con sus elementos 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… Pero de momento ya sabemos lo sencillo que es incluir una parte HTML en un JSP y así optimizar los desarrollos de nuestras páginas web y sus sucesivas modificaciones.

Código Fuente

Descárgate el código fuente de Incluir una parte HTML en un JSP
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star

Vídeos sobre Java

Disfruta también de nuestros artículos sobre Java en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Java

¿Te atreves a probar tus habilidades y conocimiento en Java con nuestro test?

Test Java
Artículos
HTML

Predeterminar valor en un combo

Creado: 16/Nov/2006 Actualizado: 09/May/2015

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.

Así, podríamos tener el siguiente combo:

En la página web veríamos el siguiente efecto:

Si queremos que salga marcada una opción por defecto, deberemos de utilizar el atributo SELECTED sobre la etiqueta OPTION que contega el valor por defecto. Así, si queremos que salga Paris como opción por defecto, deberemos de tener el siguiente código:

Y se nos producirá el siguiente efecto:

Código Fuente

Descárgate el código fuente de Predeterminar valor en un combo
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star

Vídeos sobre HTML

Disfruta también de nuestros artículos sobre HTML en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test HTML

¿Te atreves a probar tus habilidades y conocimiento en HTML con nuestro test?

Test HTML
Artículos
Java

Actualizar datos con JDBC

Creado: 15/Nov/2006 Actualizado: 06/Sep/2021

Uno de los procesos habituales, a la hora de realizar mantenimiento sobre una tabla, es el de la actualización. Así que hoy veremos cómo actualizar datos con JDBC mediante Java.

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 cómo construir este tipo de sentencias.

UPDATE tabla SET campo=valor WHERE campo=condicion

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 columna, utilizaremos una coma entre cada actualización de campo.

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

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 apoyándonos 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.

De esta forma ya habremos conseguido el proceso de actualizar datos con JDBC mediante Java.

Código Fuente

Descárgate el código fuente de Actualizar datos con JDBC
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star

Vídeos sobre Java

Disfruta también de nuestros artículos sobre Java en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Java

¿Te atreves a probar tus habilidades y conocimiento en Java con nuestro test?

Test Java
Artículos
Java

Crear un mapping a un servlet

Creado: 14/Nov/2006 Actualizado: 13/Sep/2020

El proceso de puesta en servicio de un servlet podríamos resumirlo en dos pasos. Por un lado crear el servlet y por otro crear un mapping a un servlet para que pueda estar accesible a ser invocado.

Pues echarle un ojo a todos los ejemplos que tenemos en Línea de Código sobre el uso de servlets.

Como decíamos 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.

public class MiPrimerServlet extends HttpServlet {

  private static final long serialVersionUID = 1L;
       
  public MiPrimerServlet() {
    super();
  }

  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { }

  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { }

}

Pero de nada nos sirve el crear un servlet si no lo publicamos al exterior. Este mecanismo de publicación es lo que se conoce como crear un 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:

  • servlet-name, la primera especificará el nombre del servlet sobre el que queremos establecer el mapping
  • url-pattern,  la segunda especificará sobre que URL se realiza el mapping.

De esta manera, nuestro fichero /WEB-INF/web.xml, quedará de la siguiente forma:

<servlet-mapping>
  <servlet-name>MiPrimerServlet</servlet-name>
  <url-pattern>/URLMiPrimerServlet</url-pattern>
</servlet-mapping>

Con este mapping toda las peticiones que se hagan a la URL http://miservidor/URLMiPrimerlServlet serán procesadas por el Servlet «MiPrimerServlet».

Es importante que el nombre del servlet y el valor que le asignemos a la etiqueta servlet-name tiene que ser el mismo. Para que pueda realizarse la asignación de forma correcta.

De esta forma tan sencilla hemos podido crear un mapping a un servlet para poder exponerlo al exterior y que pueda ser conumido.

Código Fuente

Descárgate el código fuente de Crear un mapping a un servlet
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star

Vídeos sobre Java

Disfruta también de nuestros artículos sobre Java en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Java

¿Te atreves a probar tus habilidades y conocimiento en Java con nuestro test?

Test Java
Artículos
HTML

Formulario para pedir passwords

Creado: 13/Nov/2006 Actualizado: 13/Sep/2020

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. Para ello vamos a ver cómo se construye un formulario para pedir passwords.

Puedes consultar todos los ejemplos que tiene Línea de Código para la construcción de elementos de formulario y así aprovechar al máximo las capacidades que este elemento de HTML nos ofrece.

Y es que cuando un usuario escribe su contraseña no es muy recomendable que sea legible. Ya que quien no nos dice que tenga a alguien detrás leyendo lo que está escribiendo y pueda comprometer la integridad de esa contraseña.

Lo primero que tendremos que hacer es definir nuestro formulario. Para ello vamos a utilizar el elemento form de HTML. Los elementos del formulario irán siempre dentro de este elemento y podremos situarlos en la parte de nuestra página web que queramos.

<form>
  <!-- Elementos del formulario -->
</form>

Ahora pasaremos a ver cómo se insertar campos para poder introducir texto dentro del formulario. Para ello tenemos que saber que los campos de introducción de texto se pueden crear mediante el elemento input. Este elemento tiene un atributo type, donde se le indicará el valor text.

<label for="nombre">Nombre:</label>
<input id="nombre" size="40" type="text"/>

Si lo que queremos es poner el campo con un texto no legible deberemos de utilizar el valor password dentro del atributo type. Quedándonos la siguiente línea de código en nuestra página web.

<label for="clave">Password:</label>
<input name="clave" size="12" type="password"/>

El formulario nos quedará de la siguiente forma:

<form>
  <label for="clave">Password:</label>
  <input name="clave" size="12" type="password"/>
</form>

De esta manera ya tendremos construido nuestro formulario para pedir passwords en HTML y podremos pedir al usuario que introduzca sus contraseñas de una forma segura sin que nadie pueda ver el contenido de las mismas.

¿Conocías la existencia de este tipo de campos? ¿Qué campos utilizas más dentro de los formularios? O ¿sobre qué elementos de formulario te gustaría que escribiésemos en Línea de Código?

Código Fuente

Descárgate el código fuente de Formulario para pedir passwords
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star

Vídeos sobre HTML

Disfruta también de nuestros artículos sobre HTML en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test HTML

¿Te atreves a probar tus habilidades y conocimiento en HTML con nuestro test?

Test HTML