![]() |
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:



Samalla periaatteella voitaisiin toteuttaa esimerkiksi tiedostojen jakaminen omalta palvelimelta.
Seuraavassa edellisen esimerkin appletti on muutettu lähettämään tiedostoja selaajalle:



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:



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