©Internetix


Vaativia Java-tekniikoita


Vaikka tämä materiaali onkin tarkoitettu Java-kielen peruskurssiksi, tutustumme esimerkin vuoksi tässä kappaleessa muutamiin kehittyneempiin Java-tekniikoihin. Tällaisia tekniikoita ovat ulkopuolisten URL-osoitteiden kutsuminen (esim. toinen HTML-dokumentti tai vaikkapa CGI-ohjelma). Lisäksi tutustumme pienen esimerkin avulla LiveConnect-nimiseen tekniikkaan, joka mahdollistaa Java -appletin ja ulkopuolisen HTML-dokumentin välisen tietojen vaihdon "lennosta".

Java ja URL-osoitteet

Java-appletti voi käskeä selainta lataamaan halutun URL-osoitteen. Tämä on lähtökohtana myös Java-applettien ja CGI-ohjelmien väliselle yhteistyölle.

Seuraavassa toteutamme javalla appletin, jossa käyttäjä voi valita halutun surffaus-osoitteen ja pyytää selainta menemään sinne:

Esim50

Samalla periaatteella voitaisiin toteuttaa esimerkiksi tiedostojen jakaminen omalta palvelimelta.

Seuraavassa edellisen esimerkin appletti on muutettu lähettämään tiedostoja selaajalle:

Esim51

Ladattavat tiedostot täytyy tietysti sijoittaa palvelimelle.

HUOM !!! : Mikäli linkin tulos halutaan ohjata johonkin tiettyyn kehykseen, kirjoitetaan showDocument-metodin toiseksi parametriksi kohdekehyksen nimi.

Imurointi voitaisiin tietenkin laittaa esimerkiksi salasanan taakse.

Seuraavaksi toteutamme esimerkin, jossa Java-appletissa olevan lomakkeen tiedot siirretään CGI-ohjelmalle käsiteltäväksi aivan HTML-lomakkeiden tapaan. Tässä kurssissa emme käsittele palvelinpään ohjelmointia (esim CGI-ohjelmointia). Seuraava esimerkki kuitenkin näyttää, kuinka Java-appletista voitaisiin käynnistää palvelimella oleva CGI-ohjelma ja välittää sille käyttäjän syöttämiä tietoja (esim. tilauslomakkeen sisältö):

Esimerkissä kutsutaan palvelimelta CGI-ohjelmaa nimeltään koe2.exe. Tälle ohjelmalle välitetään kutsun yhteydessä syöttökenttien tiedot. CGI-ohjelmointi on aivan oma tekniikkansa ja siihen emme tutustu tässä yhteydessä enempää.

Huomaa, että CGI-ohjelmat täytyy aina testata WWW-palvelimen kautta eli CGI-ohjelmien tekijälläkin täytyy olla käytössään WWW-palvelin. Pelkkä selain ei riitä.

LiveConnect-tekniikka

Netscapen versiosta 3.0 lähtien on ollut käytössä JavaScriptin ja Javan välisen reaaliaikaisen kommunikaation mahdollistava LiveConnect-tekniikka. LiveConnect-tekniikka löytyy myös Explorerin versiosta 4 lähtien.

LiveConnect-tekniikka mahdollistaa seuraavat toiminnot:

JavaScript-koodi voi olla vuorovaikutuksessa Java-applettien kanssa mm. viittaamalla suoraan Java-applettien julkisiin (public) ominaisuuksiin ja metodeihin
JavaScript-koodi voi ohjata Netscapen selaimeen asennettuja Plug-in laajennuksia
Vastaavasti Java-appletit voivat viitata JavaScriptin olioihin, taulukkoalkioihin ja funktioihin

Eli LiveConnect mahdollistaa kaikenlaisen kommunikaation JavaScript-koodin, Java-applettien ja selaimen Plug-in laajennusten välillä.

Tässä yhteydessä tutustumme lähinnä yleisimpään kommunikointitapaan eli miten JavaScript-koodista voidaan hallita Java-applettia.

Seuraavassa esimerkissä toteutamme yksinkertaisen Java-appletin, jonka julkiseen (public) ominaisuuteen ja julkiseen metodiin viitataan ulkopuolisesta JavaScript-koodista:

Esim52

Eli LiveConnect-tekniikan avulla voitaisiin toteuttaa esimerkiksi java-appletti, joka tulostaa graafisia kuvaajia "lennosta" käyttäjän antamien syötteiden perusteella.


ŠInternetix/Java-ohjelmointi/Jukka Selin 1999