Dans cette fiche...

Description de l'applet

Difficulté :
Comment charger une page HTML en Java ?
Cette fois, une variante qui gère les URLs de façon relative (à partir d'une adresse de base).

L'applet présentée ici est réduite à sa plus simple expression : elle charge une page HTML dès son démarrage (cf. la méthode init() de l'applet). C'est pourquoi vous ne trouvez pas sur cette page d'applet en cours d'exécution. D'autres exemples viendront plus tard améliorer ça !

Pour tester le programme :

 

Listing de l'applet

// --------------------------------------------------
// OUVERTURE D'UNE PAGE HTML EN JAVA
// --------------------------------------------------
import java.applet.*;
import java.net.*;
public class URLRelatif extends Applet
{
	String s;
	String f;
	URL u;
	// Initialisation de l'applet
	public void init()
	{
		// Adresse de la page web à charger
		s = "unrepertoire/unepage.htm";
		// Nom de la frame où doit apparaître la page web
		f = "droite";
		// Essayer de créer l'objet URL
		try
		{
			// Créer l'URL
			u = new URL(getDocumentBase(), s);
	
			// Charger la page web à l'écran, dans la frame f
			getAppletContext().showDocument(u, f);
		} catch (MalformedURLException e) {}
	}
}

Télécharger le listingTélécharger le listing

 

Le listing en détail...

Comme d'habitude, seules les nouveautés sont commentées.

// Créer l'URL
u = new URL(getDocumentBase(), s);
Dans les exemples précédents, l'URL u était construite à partir d'une adresse absolue (du type http://...).
Ici, on la construit à partir de l'adresse de la page HTML qui contient l'applet (obtenue par getDocumentBase()) et d'un chemin complémentaire (stocké dans s).

Si, par exemple, la page HTML contenant l'applet est stockée sur http://www.self-access.com/moi,et que la chaîne s contient "unrepertoire/unepage.htm", on obtient une adresse complète du type :

http://www.self-access.com/moi/unrepertoire/unepage.htm.

 

Intégration de l'applet dans la page

Voici le code qui peut être utilisé dans une page HTML pour faire apparaître l'applet :

<applet code="URLRelatif.class" width=100 height=50>
Votre navigateur n'est pas compatible Java !
</applet>

Pour plus de précisions sur l'intégration d'une applet, cliquez ici.

 

Hit-Parade