Applet java
| applet | ||
|---|---|---|
| partie d' un programme informatique | ||
| Informations générales | ||
| développeur | Microsystèmes solaires | |
| Information technique | ||
| Prévu dans | Java | |
| Liens | ||
Une applet Java est une applet écrite dans le langage de programmation Java . Les applets Java peuvent s'exécuter dans un navigateur Web à l'aide de la machine virtuelle Java (JVM) ou dans AppletViewer de Sun .
Parmi ses fonctionnalités, on peut citer un schéma de sécurité qui permet aux applets qui s'exécutent sur l'ordinateur de ne pas avoir accès aux parties sensibles (par exemple, ils ne peuvent pas écrire de fichiers), à moins que vous ne leur donniez les autorisations nécessaires dans le système ; L'inconvénient de cette approche est que la délivrance des autorisations est fastidieuse pour l'utilisateur commun, ce qui va à l'encontre de l'un des objectifs des applets Java : fournir un moyen simple d'exécuter des applications à partir du navigateur Web.
En Java, une applet est un programme qui peut être intégré dans un document HTML , c'est-à-dire dans une page Web . Lorsqu'un navigateur charge une page Web qui contient une applet , l'applet est téléchargée sur le navigateur Web et commence à s'exécuter. Cela vous permet de créer des programmes que n'importe quel utilisateur peut exécuter simplement en chargeant la page Web dans son navigateur.
Le navigateur qui charge et exécute l' applet est connu en termes génériques sous le nom de "conteneur" pour les applets . Le kit de développement logiciel pour Java Standard Edition 7 (1.7.1 -- Dernière version, publiée le 18 octobre 2011) inclut un wrapper d' applet , appelé appletviewer, pour tester les applets avant de les intégrer dans une page Web.
Avantages
Les applets Java présentent généralement les avantages suivants :
- Ils sont multiplateformes (ils fonctionnent sous Linux, Windows, OS X et sur tout système d'exploitation pour lequel une machine virtuelle Java existe).
- La même applet peut fonctionner sur "toutes" les versions de Java, et pas seulement sur la dernière version du plugin. Cependant, si une applet nécessite une version ultérieure de Java Runtime Environment (JRE), le client sera obligé d'attendre pendant le téléchargement du nouveau JRE.
- Il est compatible avec la plupart des navigateurs Web .
- Il peut être mis en cache dans la plupart des navigateurs Web, de sorte qu'il se charge rapidement lorsque la page Web est rechargée, bien qu'il puisse rester bloqué dans le cache, ce qui cause des problèmes lors de la publication de nouvelles versions.
- Il peut avoir un accès complet à la machine sur laquelle il s'exécute, si l'utilisateur le permet.
- Il peut fonctionner à des vitesses comparables à d'autres langages compilés, tels que C++ (selon la version JVM).
- Vous pouvez déplacer le travail du serveur vers le client, ce qui rend une solution Web plus évolutive compte tenu du nombre d'utilisateurs ou de clients.
Inconvénients
Les applets Java présentent les inconvénients suivants :
- Il nécessite le plugin Java , mais les navigateurs Chrome et Edge ne prennent pas en charge les plugins et Firefox cessera bientôt de les prendre en charge. En ce sens , Oracle a également annoncé qu'il abandonnerait le développement du plugin Java dès la sortie de Java 9. [ 1 ]
- Vous ne pouvez pas démarrer l'exécution tant que la JVM n'est pas opérationnelle, et cela peut prendre du temps la première fois qu'une applet est exécutée .
- S'il n'est pas signé comme approuvé, il a un accès limité au système de l'utilisateur - en particulier, il n'a pas d'accès direct au disque dur ou au presse-papiers du client.
- Certaines organisations autorisent uniquement les administrateurs à installer des logiciels. En conséquence, de nombreux utilisateurs (sans privilèges pour installer le plugin dans leur navigateur) ne peuvent pas voir les applets .
- Une applet peut nécessiter une version spécifique du JRE.
- Il peut contenir des vulnérabilités permettant l'exécution de code malveillant. [ 2 ]
Différences entre une application autonome et une applet
Il existe des différences entre un programme autonome et une applet :
- Restrictions de sécurité : les applets sont considérées comme du code non fiable [ 3 ] (sauf si elles portent une signature numérique ) car elles sont partagées par tous les internautes. Par exemple, l'accès aux fichiers locaux ou la connexion à un serveur autre que celui sur lequel l' applet est hébergée n'est pas autorisé .
- Ils ont besoin d'un navigateur pour être visualisés, ou d'un visualiseur d'applet comme appletviewer.
- Ils n'ont pas de méthode principale.
Création et exécution d'une applet
Créer une applet
Pour créer une applet , vous devez écrire un descendant de la classe Applet à partir du package java.applet.* ;
importer java.applet.* ;
public class MyApplet extend Applet {
//
Corps de ''applet''.
}
Le code précédent déclare une nouvelle classe MyApplet qui hérite de toutes les fonctionnalités de la classe Java Applet. Le résultat est un fichier MyApplet.java.
Une fois la classe qui compose l' applet créée , le reste du code est écrit puis compilé, obtenant le fichier MiApplet.class
importer java.applet.* ;
importer java.awt.* ;
importer java.util.* ;
import java.text.DateFormat ;
la classe publique MyApplet étend l' applet implémente Runnable
{
thread privé thread = null ; police de police privée ; chaîne privée currentTime = "00:00:00" ;
public void init ()
{
font = new Font ( "Verdana" , Font .BOLD , 24 ) ; } public void start () { if ( thread == null ) { thread = new Thread ( this , "Clock" ); fil . commencer (); } } public void run () { Thread currentThread = Thread . fil courant (); while ( thread == currentString ) { //obtenir l'heure actuelle Calendar cal = Calendar . getInstance (); Date heure = cal . getHeure (); DateFormat df = DateFormat . getTimeInstance (); heureactuelle = df . format ( heure ); repeindre (); essayez { Thread . dormir ( 1000 ); } catch ( InterruptedException e ){} } } public void paint ( Graphics g ) { // Dessinez un rectangle autour du conteneur g . draw3DRect ( 1 , 1 , getSize (). width - 3 , getSize (). height - 3 , false ); // Définissez la police g . setFont ( police ); // affiche l'heure g . drawString ( heureactuelle , 14 , 40 ); } public void stop () { thread = null ; } }
Si la bibliothèque graphique Swing est utilisée, la classe JApplet de javax.swing peut être utilisée à la place d'Applet :
importer javax.swing.* ;
public class MyApplet extend JApplet { // Corps de ''applet''. }
Exécution
Pour intégrer l' applet dans une page Web, la structure suivante est utilisée :
<balise de paramètre = "valeur"></tag>
Balise <applet>
En suivant la structure ci-dessus, un exemple de code HTML pour exécuter l' applet est :
< applet code = "MyApplet.class" width = "370" height = "270" ></ applet >
Les attributs suivants peuvent être utilisés :
| Attribut | La description | Exemple |
|---|---|---|
codebase
|
Adresse à partir de laquelle la classe Java qui chargera l'applet peut être téléchargée, l' URL de la classe. S'il n'est pas spécifié, ce sera l'emplacement actuel de la page HTML. | codebase="http://www.pagina.com/applet/"
|
code
|
Nom de la classe que vous souhaitez charger dans l'applet. L'adresse où il se trouve est relative au codebase. S'il n'est pas spécifié codebase, il s'agit du même dossier que la page HTML qui charge l'applet.
|
code="NombreClase.class"
|
width
|
Taille en pixels de la largeur. | width=100
|
height
|
Taille en pixels de la hauteur. | height=100
|
alt
|
Texte qui s'affiche là où l'applet doit se charger si le navigateur ne l'autorise pas à se charger. | alt="Su navegador no permite cargar este Applet"
|
name
|
Définissez un nom unique pour l'applet. | name="MiApplet"
|
archive
|
Il s'agit d'une liste de classes séparées par des virgules qui doivent être chargées dans le cache utilisateur local avant de pouvoir être exécutées. | archive="Clase1.class, Clase2.class, Clase3.class"
|
hspace
|
Définit les marges latérales en pixels. | hspace=25
|
vspace
|
Définit la marge supérieure et inférieure en pixels. | vspace=25
|
align
|
Alignement par rapport aux autres éléments. Valeurs : left, center, right, top, middleetbottom
|
align="center"
|
mayscript
|
Spécifie si l'applet peut accéder au code JavaScript | Il n'a pas de valeur associée. S'il apparaît, il s'applique. |
Au sein de la balise , <applet>peut apparaître la balise <param>contenant des paires clé/valeur
, qui sont lues par le programme Java, autant de fois que souhaité.
Balise <object>
Depuis la version 4.0 de HTML , l'utilisation de la balise était considérée comme obsolète <applet>, remplacée par <object>.
Cette balise est prise en charge par les navigateurs Microsoft Internet Explorer , Netscape 6 (et versions ultérieures) et Mozilla Firefox .
Il partage de nombreux attributs avec <applet>, étant les seuls pour cette balise :
| Attribut | La description | Exemple |
|---|---|---|
classid
|
Identificateur de type d'objet. | Pour Java c'est :classid="clsid:CAFEEFAC-0014-0001-0000-ABCDEFFEDCBA"
|
codebase
|
URL qui pointe vers un fichier .cabsur le réseau du plugin nécessaire pour pouvoir exécuter le contenu.
|
codebase="Dirección_del_instalador_de_la_Máquina_Virtual_Java"
|
type
|
Type de fichier à lire par l'objet. | <param name="type" value="application/x-java-applet;jpi-version=1.5.0">
|
Cycle de vie
Lorsqu'une applet se charge, les méthodes suivantes sont appelées dans cet ordre :
init: contient généralement des instructions pour initialiser l ' applet .start: likeinit, est souvent utilisé pour initialiser, mais à la différence que cette méthode est également appelée lors du redémarrage de l'applet .paint: se charge d'afficher le contenu de l' applet . Il est exécuté à chaque fois qu'il doit être redessiné.
Pour terminer ou suspendre l'exécution, les méthodes suivantes sont appelées :
stop: suspend l'exécution du programme. Appelé lorsque l' applet devient temporairement invisible.destroy: lorsque l' applet n'est plus nécessaire . Il est utilisé pour libérer des ressources.
Voir aussi
Références
- ↑ Peter Bright (27 janvier 2016). "Oracle déprécie le plugin de navigateur Java, se prépare à sa disparition" . Ars Technica . Consulté le 28 janvier 2016 .
- ↑ http://www.abc.es/tecnologia/20130115/abci-java-desactivar-problemas-201301151402.html
- ↑ "Article sur les restrictions de sécurité sur les applets Sun Microsystem " . Archivé de l'original le 10 février 2009 . Récupéré le 15 janvier 2009 .
Bibliographie
- Deitel, Harvey, Paul & Associés (2004). Comment programmer en Java . Mexique : PEARSON EDUCATION. 970-26-0518-0 .