Wywoływanie appletu   Leave a comment

Na podstawie dokumentacji SUN-a
– jest to fragment większej całości dokumentacji sunowskiej  pt. “Applets”.
Uruchomienie aplety odbywa się albo poprzez wyspecyfikowanie charakterystyk
apletu w znaczniku “APPLET” (lub w nowej edycji HTML 4 “OBJECT”), lub w
znaczniku “JNLP” (zastosowanie technologii JNLP). Aplet ładuje się u klienta
podczas uruchomienia strony HTML która go zawiera. Model ochrony klienta
powoduje, że tylko podpisane aplety są uruchamianie poza piaskownicą
przeglądarki. Aplety które mają mieć większe prawa dostępu do zasobów lokalnych
muszą być podpisane przez certyfikat. Podczas uruchamiania aplet pyta o zgodę na
dostęp do zasobów. Bez zgody użytkownika aplet nie ma dostępu do zasobów
lokalnych komputera. Uwaga: dodatkowa konfiguracja maszyny wirtualnej java jest
możliwa poprzez przystawkę Java Control Panel w pasku podczas uruchamiania
strony z apletem.

W przypadku apletów nie podpisanych (“gołych”) zaleca się wykorzystanie
protokołu JNLP do definiowania zakresu praw dostępu do zasobów lokalnych. JNLP
ma specjalne ustawienia  do definiowania zakresu dostępu do lokalnych zasobów.
Do korzystania z JNLP potrzebna jest konfiguracja serwera www (uczulenie na
tworzenie nagłówków MIME o typie JNLP) lub podstawienie pod nazwę pliku JNLP
plik z rozszerzeniem PHP. Oto przykład:

<?php

header("Content-Type:
application/x-java-jnlp-file");

readfile(‚uruchomPodpis.jnlp’);

?>

plik jnlp:

<applet name="CA",
        jnlp_href =
‚uruchomPodpis.php’,
        width = 300,
        height = 300
>
    <PARAM NAME=Server-Library VALUE=
https://dvcl4.coig.com:10066/podpisAplet/ext>
    <PARAM NAME=Properties-File
VALUE=cryptoapplet.properties>
</applet
>

“Goły” aplet może niewiele. Może m.in. – połączyć się ze serwerem  z którego
została załadowana strona. Aplet załadowany z lokalnych
zasobów (a więc ktoś go tam zainstalował) nie ma żadnych ograniczeń
.

Aplety nie podpisany załadowane poprzez JNLP mają większe prawa m. in. mogą
czytać i pisać do lokalnych zasobów. Uwaga: wśród parametrów konfiguracyjnych
nie ma mowy o uruchamianiu procesu zewnętrznego np. jakieś aplikacji desktopowej
(takie sztuczki może dokonać wyłącznie aplet podpisany).

Wywołanie nawet podpisanych apletów z poziomu kodu JS na stronie HTML
powoduję ograniczenie zakresu działania apletu tak jakby był niepodpisany.

Z przykładu zamieszczonego w rozdziale “Invoking
Applets Methods from javascript code
” widać, że jest bardzo łatwo sterować
metodami zawartymi w aplecie z punktu widzenia JS. Sytuacja odwrotna tj.
dostanie się do elementów strony HTML czy też skryptów na niej jest również
możliwa dzięki technologii LiveConnect.
Funkcjonalność ta zawarta jest w pakiecie ‘netscape.javascript’ lub można ją
włączyć poprzez wyspecyfikowanie pakietu ‘…/jre/lib/plugin.jar’

Ciekawa definicja apletu na stronach pomocy Eclipse – “An
applet is a bean that is designed to be run inside a Web browser and inherits
from java.applet.Applet or javax.swing.JApplet
.”

Posted 22 Kwiecień 2010 by marekwmsdn in Developerka

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Log Out / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Log Out / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Log Out / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Log Out / Zmień )

Connecting to %s

%d bloggers like this: