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