Programmering

Koble til Java med Java Plug-in

Etter hvert som Java-teknologien modnes, slipper Sun Microsystems (skaper av Java) nye versjoner av Java via Java Development Kit (JDK). Netscape og andre nettleserleverandører støtter hver nye versjon ved å legge til den versjonens kjøretidskomponent - Java Runtime Environment (JRE) - til neste iterasjon av nettleserne. Forsinkelsestiden mellom Suns introduksjon av en ny Java-versjon og utgivelsen av nettlesere som støtter den, har frustrert bedriftsintranettutviklere som trenger å benytte seg av de nyeste JRE-funksjonene (og feilrettinger). Og Microsofts avslag på å støtte JRE fullstendig i Internet Explorer 4.0 og 5.0 har gjort situasjonen enda mer frustrerende for utviklere.

Sun har en løsning på disse problemene. Denne løsningen omgår leverandøren og er avhengig av plugin-teknologi for å distribuere nyere JRE-er.

EN plugin-arkitektur - egentlig kombinasjonen av en arkitektur og plugin-moduler - er en spesifikasjon for og implementering av den delen av en nettleser som dynamisk laster plugin-moduler etter behov. Både Netscape og Microsoft har lagt til denne arkitekturen i nettleserne. (De faktiske implementeringene av arkitekturen er ganske forskjellige: Netscape bruker en enkel kjørbar implementering, mens Microsoft bruker sin implementering av ActiveX-objektmodellen.)

EN plugg inn er kjørbar kode som er lagret i en biblioteksfil. Når det refereres til det via spesielle HTML-koder, laster nettleseren inn dette biblioteket via plugin-arkitekturen og begynner å kjøre bibliotekets kode. (Hvis du noen gang har kommet over en webside som refererer til Macromedias Shockwave eller VXtreme Web Theatre, har du sett eksempler på plugin-moduler på jobben.)

Suns løsning er å lage en plugin-modul for Java, kjent som Java Plug-in.

Hva er Java Plug-in?

Java Plug-in er et programvareprodukt som fungerer som en bro mellom en nettleser og en ekstern JRE. En utvikler "ber" nettleseren om å bruke denne eksterne JRE ved å plassere spesielle HTML-koder på en webside. Når dette er gjort, kan en nettleser kjøre Java-applets eller JavaBeans-komponenter som har tilgang til alle funksjonene (innenfor rammen av Javas sikkerhetsmodell) i denne eksterne JRE.

Sun ga ut Java Plug-in 1.1 i april '98. Rett etterpå, JavaWorld spurte leserkretsen for å måle reaksjonen på dette produktet. Java Plug-in 1.1.1 og 1.1.2 vedlikeholdsutgivelsene fulgte. (Se Ressurser for detaljer om JavaWorld avstemning og utgivelser av Java Plug-in.)

Samtidig med utgivelsen av JDK 1.2 (nå kjent som Java 2-plattformen), har Sun gitt ut Java Plug-in 1.2. Imidlertid, i motsetning til tidligere utgivelser, er denne utgivelsen foreløpig bare tilgjengelig for Microsoft Windows (95/98 / NT) -plattformen. Sun jobber for tiden med å gjøre Java Plug-in 1.2 tilgjengelig for sin Solaris-plattform.

Denne artikkelen utforsker Java Plug-in 1.2, og starter med en diskusjon om hvordan du laster ned og installerer denne teknologien. Det er basert på min erfaring med å bruke Java Plug-in 1.2 med nettleserne Internet Explorer 3.02 og Netscape Communicator 4.5 under operativsystemet Windows 95.

Bli koblet til!

Java Plug-in 1.2 er for tiden pakket med JRE 1.2. Hvis du vil forhåndsinstallere Java Plug-in, kan du laste ned og installere JRE 1.2 fra Suns nettsted, som er lenket til i seksjonen Ressurser. Eller du kan velge å la nettleseren laste ned Java Plug-in (med minimal intervensjon fra deg, avhengig av nettleseren din) når du "surfer" til en webside som refererer til plugin-modulen. Dette er hvordan:

Når en nettleser kommer over en webside som krever bruk av Java Plug-in, kontrollerer den om Java Plug-in er installert på samme maskin som nettleseren. Hvis ikke, må nettleseren laste ned og installere de nødvendige filene. Måten dette fungerer på, avhenger av nettleseren din, så vi ser på disse forskjellene neste.

Netscape Communicator 4.5

Hvis du bruker Netscape Communicator, en webside som inneholder HTML koden som refererer til Java Plug-in vil aktivere nedlastingen. Vi skal utforske senere i denne artikkelen. Foreløpig er det tilstrekkelig å vite det inneholder informasjon som forteller nettleseren hvilken plugin-modul som kreves og hvor du kan få den. Figur 1 viser den første nedlastingssiden som vises når Communicator møter en webside som refererer til et ikke-installert programtillegg.

Hvis du klikker på bildet på den siden, viser Communicator en "Plug-in Not Loaded" -dialogboks som den som er vist i figur 2.

Denne dialogboksen viser oss at nettleseren vet nøyaktig hva den trenger (en plugin-modul for applikasjon / x-java-applet; versjon = 1.2) og hvor du får tak i det (//java.sun.com/products/plugin/1.2/plugin-install.html).

Så hva skjer når du klikker på "Get the Plug-in" -knappen? Nettleseren bytter fra gjeldende side til siden som er angitt av Internett-adressen i dialogboksen. Fra den siden følger du instruksjonene for å laste ned og installere JRE 1.2 med Java Plug-in.

Når JRE with Java Plug-in er installert, vil Netscapes neste møte med en webside som krever Java Plug-in lastes inn denne plugin-modulen fra den lokale maskinens harddisk, og appleten eller JavaBeans-komponenten vil kjøre som vist i figur 3.

Internet Explorer 3.02

Hvis du bruker Internet Explorer, en webside som inneholder tag som refererer til Java Plug-in vil aktivere prosessen for nedlasting av denne plugin-modulen. (Som med , vil vi utforske tag senere i denne artikkelen). Denne koden inneholder informasjon som lar nettleseren vite hva slags plugin-modul som kreves, og hvor den skal skaffes. Som vi får se, er prosessen for å få Java Plug-in noe mer automatisert under Explorer enn den er under Communicator. Figur 4 viser den første siden som vises når Explorer møter en webside som refererer til et ikke-installert programtillegg.

(Merk: Den fargerike diamanten i øvre venstre hjørne av plugin-rommet vises hvis datamaskinen er koblet til Internett. Hvis datamaskinen ikke er koblet til Internett, erstattes denne diamanten med en rød X karakter, og åpenbart vil Explorer ikke gjøre noe for å skaffe plugin-modulen).

Forutsatt at datamaskinen er koblet til Internett, fortsetter Explorer med å laste ned en liten ActiveX-kontroll som er ansvarlig for nedlasting av Java Plug-in ActiveX-kontroll og JRE. Utforsker viser Verisign-sertifikatet som er tilknyttet denne første ActiveX-kontrollen, som vist i figur 5.

Forutsatt at du velger å installere og kjøre Java Plug-in, ved å klikke på Ja-knappen i forrige dialogboks, vil Explorer be deg om lokal informasjon via dialogboksen vist i figur 6.

Når lokalinformasjonen er oppnådd (og du har klikket på Installer-knappen), viser Explorer en nedlastingsdialogboks, som vist i figur 7.

Når nedlastingen er fullført, vil Explorer prøve å starte JRE med Java Plug-in installasjonsprogram. (Første gang jeg lastet ned Java Plug-in gjennom Utforsker, mottok jeg en CAB - Windows-kabinett - filkorrupt feilmelding, som forhindret installasjonsprogrammet i å starte og fullføre installasjonen. Installasjonsprogrammet startet og ble fullført på andre forsøk.) Så snart installasjonsprogrammet er ferdig, laster Explorer inn og kjører appleten (eller JavaBeans-komponenten), som vist i figur 8.

Windows-registerinnstillinger

Installasjonsprogrammet JRE med Java Plug-in registrerer forskjellige JRE- og Java Plug-in-innstillinger i Windows-registeret - en sentralisert database med installasjons- og andre konfigurasjonsdata og en grunnleggende del av de forskjellige 32-biters Windows-operativsystemene. Tabellen nedenfor viser flere Java Plug-in-innstillinger som er lagret i denne databasen. Hver innstilling består av en nøkkel som identifiserer en innstilling samt verdien av den innstillingen.

NøkkelVerdi
HKEY_LOCAL_MACHINE / SOFTWARE / JavaSoft / Java Plug-in / 1.2 / JavaHomec: \ Program Files \ JavaSoft \ JRE \ 1.2
HKEY_LOCAL_MACHINE / SOFTWARE / JavaSoft / Java Plug-in / 1.2 / RuntimeLibc: \ Program Files \ JavaSoft \ JRE \ 1.2 \ bin \ classic \ jvm.dll
HKEY_CURRENT_USER / Programvare / JavaSoft / Java Plug-in / Debug Mode0
HKEY_CURRENT_USER / Programvare / JavaSoft / Java Plug-in / Feilsøkingsport2502
HKEY_CURRENT_USER / Programvare / JavaSoft / Java Plug-in / Java RuntimeMisligholde
HKEY_CURRENT_USER / Programvare / JavaSoft / Java Plug-in / Java Runtime-versjon1.2
HKEY_CURRENT_USER / Programvare / JavaSoft / Java Plug-in / JIT aktivert1
HKEY_CURRENT_USER / Software / JavaSoft / Java Plug-in / JIT Pathsymcjit
Tabell 1. Java Plug-in-innstillinger som er lagret i Windows-registeret

De to første Java Plug-in-innstillingene identifiseres av JavaHome og RuntimeLib nøklene. Verdiene tilknyttet disse nøklene brukes av Communicator og Explorer for å finne henholdsvis JRE-hjemmekatalogen og JREs virtuelle maskin. Kataloginformasjonen i disse verdiene gjenspeiler standardinstallasjonskatalogen som ble valgt under installasjonen. De resterende tastene brukes av Java Plug-in Kontrollpanel.

Kommandere og kontrollere

De Java Plug-in Kontrollpanel er et Swing-program som gjør det mulig å endre atferden til Java Plug-in. Installasjonsprogrammet for JRE / Java Plug-in legger til en oppføring i Windows-programstarteren som aktiverer Java Plug-in Kontrollpanel når dette er valgt. Denne oppføringen består av følgende linje (forutsatt standard installasjonskatalog):

"c: \ Program Files \ JavaSoft \ JRE \ 1.2 \ bin \ javaw.exe" -classpath .. \ lib \ rt.jar; .. \ lib \ jaws.jar sun.plugin.panel.ControlPanel 

Kontrollpanelet består av et grensesnitt med faner med tre faner (Basic, Advanced og Proxies) og to knapper (Apply and Reset). Fanen Grunnleggende kontrollerer den grunnleggende driften av Java Plug-in. For eksempel kan du velge om Java Plug-in sin egen Java-konsoll skal vises. Fanen Avansert kontrollerer hvilken JRE som skal brukes med Java Plug-in sammen med feilsøking. Proxies-fanen styrer adressene og portnumrene som Java Plug-in bruker når de kommuniserer, via en mellomliggende datamaskin, med en annen datamaskin via Internett. Bruk-knappen lagrer endringene som er gjort i kontrollpanelet, mens Tilbakestill-knappen gjenoppretter standardverdiene.

Figur 9 viser kontrollpanelet med Grunnleggende kategorien som den aktive fanen.

Avkrysningsruten Enable Java Plug-in gjør det mulig for Java Plug-in å kjøre applets eller JavaBeans-komponenter. Standardinnstillingen er aktivert (boksen er merket av).

Avkrysningsruten Vis Java-konsoll gjør det mulig å vise den nye Java-konsollen mens du kjører applets eller JavaBeans-komponenter. Som vi får se senere, viser konsollen meldinger som er skrevet ut av System.out og System.err objekter (nyttig for feilsøking). Standardinnstillingen brukes til å vise den nye Java-konsollen (boksen er merket av).

Cache JARs in Memory-avkrysningsboksen fører til at tidligere innlastede applet- eller komponentklasser blir hurtigbufret og brukt på nytt når appleten lastes inn på nytt, noe som gir mer effektiv minnebruk. Dette alternativet skal ikke være merket av hvis en applet eller komponent blir feilsøkt, eller hvis du vil være sikker på at de siste appletene eller komponentklassene blir lastet ned. Standardinnstillingen er å cache JARer i minnet (boksen er merket av).

På rullegardinlisten Nettverkstilgang kan du velge hvilken nettverkstilgang du vil gi dine kjørende appletter og komponenter. Dette alternativet er aktivert hvis du kjører Java Plug-in 1.1.x. For Java Plug-in 1.2, må du bruke den nye sikkerhetsarkitekturen for å aktivere samme oppførsel. (For mer informasjon, sjekk ut "Sikkerhet og signerte applets / sikkerhetsarkitektur" i JDK 1.2-dokumentasjonen.) Som standard kan appletter og komponenter bare koble til den opprinnelige serveren (Network Access = Applet Host). Når nettverkstilgang er aktivert, kan du bruke følgende kvoter, i tillegg til standard:

  • Ikke tillat nettverkstilgang slik at en applet eller komponent ikke kan foreta nettverkssamtaler

  • Tillat ubegrenset nettverkstilgang (som er en sikkerhetsfare og må brukes veldig forsiktig) slik at en applet eller komponent kan koble til en hvilken som helst vertsserver

De Java Run Time Parameters tekstfelt overstyrer Java-oppstartsparametere som standard oppstartsparametere ved å spesifisere tilpassede alternativer. Du vil bruke den samme syntaksen for dette tekstfeltet som du bruker når du spesifiserer parametere til java.exe kommandolinjeverktøy.

Figur 10 viser kontrollpanelet med Avansert kategorien som den aktive fanen.

De Java Run Time Environment dropdown listbox lar Java Plug-in kjøre med JDK 1.2 eller hvilken som helst JRE som er installert på maskinen din. Java Plug-in 1.2 leveres med en standard JRE (for tiden JRE 1.2). Du kan imidlertid overstyre denne standard JRE og bruke en eldre eller nyere versjon. Kontrollpanelet oppdager automatisk alle versjoner av JDK eller JRE som er installert på maskinen. Den viser disse versjonene i listeboksen. Det første elementet i listen vil alltid være Java Plug-in Standard, mens det siste elementet alltid vil være Annet. Hvis du velger Annet, må du spesifisere stien til JRE eller JDK 1.2.

Avkrysningsruten Enable JIT Compiler (kun Win32-plattformer) aktiverer just-in-time (JIT) kompilatoren. Hvis du aktiverer kompilatoren, må du også spesifisere banen til JIT-kompilatoren. JIT-kompilatoren må være plassert i søppel katalog for JRE eller JDK som er valgt for kjøretidsmiljøet.

$config[zx-auto] not found$config[zx-overlay] not found