Trabajo en Red

La forma m�s sencilla de crear un objeto URL es crearlo desde una Cadena que represente la forma "Leible" de la direcci�n URL. Esta es la forma t�pica que otra persona utilizar�a para decirte una URL. Por ejemplo, para decirle la direcci�n de Gamelan que contiene una lista de sitios sobre Java, podr�amos d�rtela de la siguiente forma.

http://www.gamelan.com/

En tu progrma Java, puede utilizar una cadena que contenga el texto anterior para crear un objeto URL.

URL gamelan = new URL("http://www.gamelan.com/");

El objeto URL anterior representa una URL absoluta. Una URL absoluta contiene toda la informaci�n necesaria para alcanzar el recurso en cuesti�n. Tambi�n puedes crear objetos URL desde una direcci�n URL relativa.

.�Crear una URL relativa a otra

Una URL relativa s�lo contiene la informaci�n suficiente para alcanzar el recurso en relaci�n a (o en el contexto de) otra URL.

Las epecificaciones de las URL relativas se utilizan frecuentemente en ficheros HTML. Por ejemplo, supon que has escrito un fichero HTML llamado HomePage.html. Dentro de esta p�gina, hay enlaces a otras p�ginas, graficos.html y Preferencias.html, que est�n en la misma m�quina y en el mismo directorio que HomePage.html. Estos enlaces a graficos.html y Preferencias.html desde HomePage.html podr�an especificarse s�lo como nombres de ficheros, de la siguiente forma.

<a href="graficos.html">graficos</a>
<a href="preferencias.html">Preferencias</a>

Estas direcci�nes URL son URLs relativas. Esto es, las URL est�s especificadas en relaci�n al fichero en el que est�n contenidas HomePage.html.

En tus programas java, puedes crear un objeto URL desde una especificaci�n URL relativa. Por ejemplo, supon que ya has creado una URL para "http://www.gamelan.com/" en tu programa, y que sabes los nombres de varios ficheros en esa site(Gamelan.network.html, y Gamelan.animation.html). Puedes crear URLs para cada fichero de Gamelan simplemente especificando el nombre del fichero en el contexto de la URL original de Gamelan. Los nombres de ficheros son URLs relativas y est�n en relaci�n a la URL original de Gamelan.

URL gamelan = new URL("http://www.gamelan.com/");
URL gamelanNetwork = new URL(gamelan, "Gamelan.network.html");

Este c�digo utiliza un constructor de la clase URL que permite crear un objeto URL desde un objeto URL (la base) y una URL relativa.

Este constructor tambi�n es �til para crear URL llamados anclas (tambi�n conocidos como referencias) dentro de un fichero. Por ejemplo, supon que el fichero "Gamelan.network.html" tiene una referencia llamada BOTTOM que est� al final del fichero. Puedes utilizar el constructor de URL relativa para crear una URL como esta.

URL gamelanNetworkBottom = new URL(gamelanNetwork, "#BOTTOM");

La forma general de este constructor de URL es.

URL(URL URLbase, String URLrelativa)

El primer argumento es un objeto URL que especifica la base de la neva URL, y el segundo argumento es una cadena que especifica el resto del nombre del recurso relativo a la base. Si URLbase es null, entonces este constructor trata URLrelativa como si fuera una especificaci�n de una URL absoluta. Y al rev�s, si relativeURL es una especificaci�n de URL absoluta, entonces el constructor ignora baseURL.

.�Otros Constructores de URL

La clase URL proporciona dos constructores adicionales para crear un objeto URL. Estos constructores son �tiles cuando trabajan con URLs como URLs HTTP, que tienen los componentes del nombre del host, el nombre del fichero, el n�mero de puerto y una referencia en la parte del nombre del recurso de la URL. Estos dos constructores son �tiles cuando no se tiene una cadena que contiene la especificaci�n completa de la URL, pero si conocen algunos componentes de la URL.

Por ejemplo, si has dise�aado un navegador con un panel similar al explorador de ficheros que le permite al usuario utilizar el rat�n para seleccionar el protocolo, el nombre del host, el n�mero del puerto, el nombre del fichero, puedes construir una URL a partir de estos componentes. El primer constructor crea una URL desde un protocolo, un nombre de host y un nombre de fichero. El siguiente c�digo crea una URL del fichero Gamelan.network.html en la site de Gamelan.

URL gamelan = new URL("http", "www.gamelan.com", "/Gamelan.network.html");

Esto es equivalente a URL("http://www.gamelan.com/Gamelan.network.html"). El primer argumento es el protocolo, el segundo es el nombre del host y el �ltimo argumento es el path del fichero. Observa que el nombre del fichero contiene la barra inclinada (/) al principio. Esto indica que el nombre de fichero est� especificado desde la ra�z del host.

El �ltimo constructor de URL a�ade el n�mero de puerto a la lista de los argumentos utilizados por el constructor anterior.

URL gamelan = new URL("http", "www.gamelan.com", 80, "/Gamelan.network.html");

Esto crea un objeto URL con la siguiente direcci�n URL.

http://www.gamelan.com:80/Gamelan.network.html

Si construyes una URL utilizando uno de estos constructores, puedes obtener una cadena que contiene la direcci�n URL completa, utilizando el m�todo toString() de la clase URL o el m�todo toExternalForm() equivalente.

.�MalformedURLException

Cada uno de los cuatro constructores de URL lanza una MalformedURLException si los argumentos del constructor son nulos o el protocolo es desconocido. T�picamente, se querr� capturar y manejar esta excepci�n. As� normalmente deber�as introducir tu constructor de URL en un para try/catch.

try {
    URL myURL = new URL(. . .)
} catch (MalformedURLException e) {
    . . .
    // Aqu� va el c�digo del manejador de excepciones
    . . .
}

Puede ver Manejar Errores Utilizando Excepciones para obtener informaci�n sobre el manejo de excepciones.

Nota:

Las URLs son objetos de "una s�la escritura". Una vez que has creado un objeto URL no se puede cambiar ninguno de sus atributos (protocolo, nombre del host, nombre del fichero ni n�mero de puerto).

COMPARTE ESTE ARTÍCULO

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