Java applet
| applet | ||
|---|---|---|
| část počítačového programu | ||
| Obecná informace | ||
| vývojář | Sun Microsystems | |
| Technické informace | ||
| Naplánováno v | Jáva | |
| Odkazy | ||
Java applet je applet napsaný v programovacím jazyce Java . Java applety mohou běžet ve webovém prohlížeči pomocí Java Virtual Machine (JVM) nebo v AppletViewer společnosti Sun.
Mezi jeho funkce můžeme zmínit bezpečnostní schéma , které umožňuje apletům spuštěným na počítači, aby neměly přístup k citlivým částem (například nemohou zapisovat soubory), pokud jim neposkytnete potřebná oprávnění v systému; Nevýhodou tohoto přístupu je, že doručování oprávnění je pro běžného uživatele těžkopádné, což je v rozporu s jedním z cílů Java appletů : poskytnout snadný způsob spouštění aplikací z webového prohlížeče.
V Javě je applet program, který lze vložit do dokumentu HTML , tedy na webovou stránku . Když prohlížeč načte webovou stránku, která obsahuje aplet , aplet se stáhne do webového prohlížeče a spustí se. To vám umožní vytvářet programy, které může spustit každý uživatel pouhým načtením webové stránky ve svém prohlížeči.
Prohlížeč, který načítá a spouští aplet , je obecně známý jako „kontejner“ pro aplety . Software Development Kit for Java Standard Edition 7 (1.7.1 – nejnovější verze, vydaná 18. října 2011) obsahuje obal apletů , nazývaný appletviewer, pro testování apletů před jejich vložením do stránky.
Výhody
Java applety mají obvykle následující výhody:
- Jsou multiplatformní (fungují na Linuxu, Windows, OS X a na jakémkoli operačním systému, pro který existuje Java Virtual Machine).
- Stejný applet může fungovat na „všech“ verzích Javy, a nejen na nejnovější verzi pluginu. Pokud však aplet vyžaduje novější verzi Java Runtime Environment (JRE), klient bude nucen čekat, než se stáhne nové JRE.
- Je kompatibilní s většinou webových prohlížečů .
- Může být uložen do mezipaměti ve většině webových prohlížečů, takže se při opětovném načtení webové stránky rychle načte, i když se může v mezipaměti zaseknout a způsobit problémy při vydání nových verzí.
- Může mít plný přístup k počítači, na kterém běží, pokud to uživatel povolí.
- Může běžet rychlostí srovnatelnou s jinými kompilovanými jazyky, jako je C++ (v závislosti na verzi JVM).
- Práci můžete přesunout ze serveru na klienta, díky čemuž bude webové řešení škálovatelnější s ohledem na počet uživatelů nebo klientů.
Nevýhody
Java applety mají následující nevýhody:
- Vyžaduje plugin Java , ale prohlížeče Chrome a Edge pluginy nepodporují a Firefox je brzy přestane podporovat. V tomto smyslu Oracle také oznámil, že od vydání Java 9 opustí vývoj pluginu Java. [ 1 ]
- Nemůžete spustit provádění, dokud nebude JVM v provozu, a to může chvíli trvat, než se aplet poprvé spustí .
- Pokud není podepsán jako důvěryhodný, má omezený přístup do systému uživatele – zejména nemá přímý přístup na pevný disk nebo schránku klienta.
- Některé organizace povolují instalaci softwaru pouze správcům. V důsledku toho mnoho uživatelů (bez oprávnění instalovat plugin do svého prohlížeče) nevidí applety .
- Aplet může vyžadovat konkrétní verzi JRE.
- Může obsahovat zranitelnosti, které umožňují spuštění škodlivého kódu. [ 2 ]
Rozdíly mezi samostatnou aplikací a appletem
Mezi samostatným programem a appletem jsou rozdíly :
- Bezpečnostní omezení: applety jsou považovány za nedůvěryhodný kód [ 3 ] (pokud nenesou digitální podpis ), protože jsou sdíleny všemi uživateli internetu. Například není povolen přístup k místním souborům nebo připojení k jinému serveru, než je server, na kterém je aplet hostován .
- K zobrazení potřebují prohlížeč nebo prohlížeč apletů, jako je appletviewer.
- Nemají hlavní metodu.
Vytvoření a spuštění apletu
Vytvořte aplet
Chcete-li vytvořit applet , musíte napsat potomka třídy Applet z balíčku java.applet.* ;
import java.applet.* ;
public class MyApplet extends Applet
{
//Tělo ''appletu''.
}
Předchozí kód deklaruje novou třídu MyApplet, která zdědí všechny schopnosti třídy Java Applet. Výsledkem je soubor MyApplet.java.
Jakmile je vytvořena třída, která tvoří applet , je napsán zbytek kódu a poté zkompilován, čímž se získá soubor MiApplet.class
import java.applet.* ;
import java.awt.* ;
import java.util.* ;
import java.text.DateFormat ;
public class MyApplet extends Applet implements Runnable
{
private Thread thread = null ;
soukromé písmo písma ;
private String currentTime = "00:00:00" ;
public void init ()
{
font = new Font ( "Verdana" , Font .BOLD , 24 ) ; } public void start () { if ( vlákno == null ) { vlákno = nové vlákno ( this , "Hodiny" ); vlákno . start (); } } public void spustit () { Thread currentThread = Thread . aktuálníVlákno (); while ( thread == currentString ) { //získání aktuálního času Calendar cal = Calendar . getInstance (); Datum čas = cal . getTime (); DateFormat df = DateFormat . getTimeInstance (); aktuální čas = df . formát ( čas ); přemalovat (); zkuste { vlákno . spánek ( 1000 ); } catch ( InterruptedException e ){} } } public void paint ( Graphics g ) { //Nakreslete obdélník kolem kontejneru g . draw3DRect ( 1 , 1 , getSize (). width - 3 , getSize (). height - 3 , false ); //Nastaví písmo g . setFont ( font ); //zobrazení času g . drawString ( currentTime , 14 , 40 ); } public void stop () { thread = null ; } }
Pokud je použita grafická knihovna Swing , lze místo Appletu použít třídu JApplet z javax.swing :
import javax.swing.* ;
public class MyApplet extends JApplet
{
//Tělo ''appletu''.
}
Provedení
K vložení apletu na webovou stránku se používá následující struktura:
<parameter tag = "value"></tag>
tag <applet>
Podle výše uvedené struktury je příklad HTML pro spuštění apletu :
< kód apletu = "MyApplet.class" width = "370" height = "270" ></ applet >
Lze použít následující atributy:
| Atribut | Popis | Příklad |
|---|---|---|
codebase
|
Adresa, odkud lze stáhnout třídu Java, která načte applet, URL třídy. Pokud není zadáno, bude to aktuální umístění stránky HTML. | codebase="http://www.pagina.com/applet/"
|
code
|
Název třídy, kterou chcete načíst do apletu. Adresa, kde se nachází, je relativní k codebase. Pokud není zadáno codebase, jedná se o stejnou složku jako stránka HTML, která načítá aplet.
|
code="NombreClase.class"
|
width
|
Velikost v pixelech šířky. | width=100
|
height
|
Velikost v pixelech výšky. | height=100
|
alt
|
Text, který se zobrazí tam, kde by se měl aplet načíst, pokud jej prohlížeč neumožňuje načíst. | alt="Su navegador no permite cargar este Applet"
|
name
|
Nastavte jedinečný název apletu. | name="MiApplet"
|
archive
|
Je to čárkami oddělený seznam tříd, které musí být načteny do místní uživatelské mezipaměti, než mohou být spuštěny. | archive="Clase1.class, Clase2.class, Clase3.class"
|
hspace
|
Nastaví boční okraje v pixelech. | hspace=25
|
vspace
|
Nastaví horní a dolní okraj v pixelech. | vspace=25
|
align
|
Zarovnání s ohledem na ostatní prvky. Hodnoty : left, center, right, topamiddlebottom
|
align="center"
|
mayscript
|
Určuje, zda může aplet přistupovat ke kódu JavaScript | Nemá žádnou přidruženou hodnotu. Pokud se objeví, platí. |
Uvnitř tagu se <applet>může objevit tag <param>obsahující páry klíč/hodnota
, které jsou čteny programem Java, kolikrát chcete.
tag <object>
Od verze 4.0 HTML bylo použití značky považováno za zastaralé <applet>a bylo nahrazeno značkou <object>.
Tuto značku podporují prohlížeče Microsoft Internet Explorer , Netscape 6 (a vyšší) a Mozilla Firefox .
Sdílí mnoho atributů s <applet>, přičemž jsou jediné pro tuto značku:
| Atribut | Popis | Příklad |
|---|---|---|
classid
|
Identifikátor typu objektu. | Pro Javu je to:classid="clsid:CAFEEFAC-0014-0001-0000-ABCDEFFEDCBA"
|
codebase
|
Adresa URL, která ukazuje na soubor .cabv síti pluginu, který je nezbytný pro spuštění obsahu.
|
codebase="Dirección_del_instalador_de_la_Máquina_Virtual_Java"
|
type
|
Typ souboru, který má objekt přehrát. | <param name="type" value="application/x-java-applet;jpi-version=1.5.0">
|
Životní cyklus
Když se aplet načte, jsou volány následující metody v tomto pořadí:
init: obvykle obsahuje instrukce pro inicializaci apletu .start: likeinit, se často používá k inicializaci, ale s tím rozdílem, že tato metoda je volána i při restartu appletu .paint: odpovídá za zobrazení obsahu apletu . Provádí se pokaždé, když je třeba jej překreslit.
Chcete-li ukončit nebo pozastavit provádění, jsou volány následující metody:
stop: pozastaví provádění programu. Volá se, když se applet stane dočasně neviditelným.destroy: když applet již není potřeba . Používá se k uvolnění zdrojů.
Viz také
Reference
- ↑ Peter Bright (27. ledna 2016). „Oracle zavrhuje plugin prohlížeče Java, připravuje se na jeho zánik“ . Ars Technica . Staženo 28. ledna 2016 .
- ↑ http://www.abc.es/tecnologia/20130115/abci-java-desactivar-problemas-201301151402.html
- ↑ „Článek o bezpečnostních omezeních o apletech Sun Microsystem “ . Archivováno z originálu 10. února 2009 . Staženo 15. ledna 2009 .
Bibliografie
- Deitel, Harvey, Paul & Associates (2004). Jak programovat v Javě . Mexiko: PEARSON EDUCATION. 970-26-0518-0 .