JAVA-APPLETIN ELI JAVA-SOVELMAN KÄYTTÖ SELAIMEN OFF-LINE TILASSA



Joskus voisi olla kätevämpää tutkia Internetsivuja ilman jatkuvaa yhteyttä palvelinkoneeseen. Java-appletit eivät kuitenkaan välttämättä toimi modeemiyhteyden katkaisun jälkeen. Selain kyllä säilyttää appletin eli sovelman jonkin aikaa muistissa, mutta se poistetaan sieltä nopeasti. Jos esimerkiksi tallettaa sivun komennoilla File/Save As, niin java-appletin tuottava tiedosto tai tiedostot eivät talletu samalla. Nämä tiedostot tunnistaa niiden .class päätteestä. Yksi syy miksi .class tiedosto ei talleenu on turvallisuus

Appletin voi yrittää saada toimimaan tallentamalla ne samaan hakemistoon eli kansioon kuin mihin sivu on tallennettu. Tämä tapahtuu seuraavasti: Ensin otetaan selville applettiin liityvän .class -tiedoston nimi, joka selvitetään katsomalla se sivun HTML-koodista, joka saadaan näkyville Source tai Page source valinnoilla.
___

Sivun HTML-koodista etsitään kohta <applet code=Nimi.class height=400 width=400></applet> , jossa Nimi.class ilmoittaa aplletin tuottavan luokan (luokka=javatiedosto). Tämän jälkeen kyseinen luokka imuroidaan kirjoittamalla sen nimi osoiteriville joko siten, että poistetaan viimeinen kenoviivan jälkeinen osa osoitetekstistä - tämä tehdään jos viimeinen osa päättyy .htm tai.html tunnisteeseen. Tai vain lisäämällä luokan nimi .class -tunnisteineen osoiterivin loppuun.
Jos luokka löytyy tästä hakemistosta, se avaa smanlaisen kyselyn kuin muulloinkin ohjelmia imuroitaessa.

Mutta luokka ei välttämättä olekaan kyseisessä hakemistossa, mikä voi tulla esille myös toisesta tarkistettavasta HTML-koodinpätkästä, joka on saman <applet></applet> tunnisteiden välillä. Tämä on sanat codebase="osoite". Jos osoite on ns absoluuttine osoite muotoa:"http://www.saunalahti.fi/jnormal/..." unohda koko appletti. Jos taas osoite on ns. suhteellinen osoite eli lyhyt kuten codebase=classes, silloin tiedät, että luokka on HTML-tiedoston viereisessä hakemistossa nimeltään classes. Siksi selaimen osoiteriville kirjoitetaan luokan nimen sijasta hakemiston nimi classes, jolloin avautuu sivu, jossa on vain luettelo tiedostoista tai yhdestä tiedostosta. Klikkaamalla näitä ne voidaan imuroida omalle koneellesi. On huomattava, että java-ohjelmat voivat tarvita useita luokkia toimiakseen, joknka takia voi olla tarpeen imuroida kaikki hakemistossa olevat luokat. Mutta tapauksessa jossa codebase=classes ei riitä, että imuroidut luokat samaan tidostoon HTML-sivun kanssa, vaan niille on luotava tähän hakemistoon uusi classes niminen hakemisto eli kansio.

Omaan tietokoneeseesi talennettu kansio jäljittelee näin asetelmaa serverillä. Jos alkeperäinen kansion nimi on jokin muu, esimerkiksi luokat niin koneellisi luotavan kansion nimi tulee tietenkin olla luokat.

Ja lisää ongelmia: InternetExplorerin uudemmat versiot>=5 lisäävät tallennettavaan HTML-sivuun ylimääräistä koodia Java-appletin yhteydessä. Seuraavanlaisia teskstejä

<PARAM NAME="code" VALUE="Lippo9.class">

<PARAM NAME="codeBase" VALUE="http://personal.inet.fi/surf/a1/synt/anneli2/">


Nämä molemmat Explorerin HTML-sivun tallennuksen yhteydessä tekemät lisäykset tulee poistaa tallenetusta HTML-sivun lähdekoodista.

Turvallisuus: Vaikka java-applettien käyttö internetselailussa on vaaratonta, koska appletti eli sovelma ei voi lukea tiedostojasi tai kirjoittaa mitään kovalevylle, niin jos imuroit niitä edellä kuvatulla tavalla otat pienen riskin saada haitallinen ohjelma koneeseesi, joka voi tehdä pahojaan. Arvioisin riskin kuitenkin pieneksi tällä hetkellä.

jnormal@saunalahti.fi
JNormal etusivulle