Programmering

Sæt i Java med Java Plug-in

Når Java-teknologien modnes, frigiver Sun Microsystems (Java's skaber) nye versioner af Java via Java Development Kit (JDK). Netscape og andre browserudbydere understøtter hver nye version ved at tilføje den versionens runtime-komponent - Java Runtime Environment (JRE) - til den næste iteration af deres browsere. Forsinkelsestiden mellem Suns introduktion af en ny Java-version og frigivelsen af ​​browsere, der understøtter den, har frustreret virksomhedens intranetudviklere, der har brug for at bruge de nyeste JRE-funktioner (og fejlrettelser). Og Microsofts afvisning af fuldt ud at støtte JRE i Internet Explorer 4.0 og 5.0 har gjort situationen endnu mere frustrerende for udviklere.

Sun har en løsning på disse problemer. Denne løsning omgår sælgeren og er afhængig af plug-in-teknologi for at distribuere nyere JRE'er.

EN plug-in arkitektur - i det væsentlige kombinationen af ​​en arkitektur og plug-ins - er en specifikation for og implementering af den del af en browser, der dynamisk indlæser plug-ins efter behov. Både Netscape og Microsoft har føjet denne arkitektur til deres browsere. (De faktiske implementeringer af arkitekturen er helt forskellige: Netscape bruger en simpel eksekverbar implementering, mens Microsoft bruger sin ActiveX-objektmodelimplementering.)

EN plug-in er en eksekverbar kode, der er gemt i en biblioteksfil. Når der henvises til det via specielle HTML-tags, indlæser browseren dette bibliotek via dets plugin-arkitektur og begynder at køre bibliotekets kode. (Hvis du nogensinde er stødt på en webside, der refererer til Macromedias Shockwave eller VXtreme Web Theatre, har du set eksempler på plugins på arbejdspladsen.)

Suns løsning er oprettelsen af ​​et plug-in til Java, kendt som Java Plug-in.

Hvad er Java Plug-in?

Java Plug-in er et softwareprodukt, der fungerer som en bro mellem en browser og en ekstern JRE. En udvikler "beder" browseren om at bruge denne eksterne JRE ved at placere specielle HTML-tags på en webside. Når dette er gjort, kan en browser køre Java-applets eller JavaBeans-komponenter, der har adgang til alle funktionerne (inden for rammerne af Java's sikkerhedsmodel) i denne eksterne JRE.

Sun udgav Java Plug-in 1.1 i april '98. Kort derefter, JavaWorld undersøgte sin læserskare for at måle reaktionen på dette produkt. Java Plug-in 1.1.1 og 1.1.2 vedligeholdelsesudgivelserne fulgte. (Se Ressourcer for yderligere oplysninger om JavaWorld afstemning og udgivelser af Java Plug-in.)

Samtidig med frigivelsen af ​​JDK 1.2 (nu kendt som Java 2-platformen) har Sun frigivet Java Plug-in 1.2. I modsætning til tidligere udgivelser er denne udgivelse i øjeblikket kun tilgængelig til Microsoft Windows (95/98 / NT) platformen. Sun arbejder i øjeblikket på at gøre Java Plug-in 1.2 tilgængelig til sin Solaris-platform.

Denne artikel udforsker Java Plug-in 1.2, der starter med en diskussion om, hvordan man downloader og installerer denne teknologi. Det er baseret på min erfaring med Java Plug-in 1.2 med Internet Explorer 3.02 og Netscape Communicator 4.5-browsere under Windows 95-operativsystemet.

Bliv tilsluttet!

Java Plug-in 1.2 er i øjeblikket pakket med JRE 1.2. Hvis du vil forudinstallere Java Plug-in, skal du downloade og installere JRE 1.2 fra Suns websted, der er linket til i afsnittet Ressourcer. Eller du kan vælge at lade din browser downloade Java Plug-in (med minimal indgriben fra dig, afhængigt af din browser), når du "surfer" til en webside, der refererer til dette plug-in. Sådan gør du:

Når en browser kommer på tværs af en webside, der kræver brug af Java Plug-in, kontrollerer den, om Java Plug-in er installeret på den samme maskine som browseren. Hvis det ikke er tilfældet, skal browseren downloade og installere de nødvendige filer. Den måde, det fungerer på, afhænger af din browser, så vi ser på disse forskelle næste.

Netscape Communicator 4.5

Hvis du bruger Netscape Communicator, en webside der indeholder HTML tag, der refererer til Java Plug-in, aktiverer download. Vi udforsker senere i denne artikel. For nu er det tilstrækkeligt at vide det indeholder information, der fortæller browseren, hvilket plug-in der kræves, og hvor det skal fås. Figur 1 viser den indledende download-side, der vises, når Communicator støder på en webside, der refererer til et ikke-installeret plug-in.

Hvis du klikker på billedet på den side, viser Communicator en dialogboks "Plug-in not Loaded" som den, der er vist i figur 2.

Denne dialogboks viser os, at browseren ved nøjagtigt, hvad den har brug for (et plug-in til applikation / x-java-applet; version = 1.2) og hvor man kan få det (//java.sun.com/products/plugin/1.2/plugin-install.html).

Så hvad sker der, når du klikker på knappen "Hent plug-in"? Browseren skifter fra den aktuelle side til den side, der er angivet af internetadressen i dialogboksen. Fra denne side følger du anvisningerne for at downloade og installere JRE 1.2 med Java Plug-in.

Når JRE med Java Plug-in er installeret, på Netscapes næste møde med en webside, der kræver Java Plug-in, indlæses dette plug-in fra den lokale maskines harddisk, og applet- eller JavaBeans-komponenten kører som vist i figur 3.

Internet Explorer 3.02

Hvis du bruger Internet Explorer, en webside der indeholder tag, der refererer til Java Plug-in, aktiverer processen til download af dette plug-in. (Som med , vi udforsker tag senere i denne artikel). Dette tag indeholder oplysninger, der lader browseren vide, hvilken type plug-in der kræves, og hvor den skal hentes. Som vi vil se, er processen for at få Java Plug-in noget mere automatiseret under Explorer end den er under Communicator. Figur 4 viser den indledende side, der vises, når Explorer møder en webside, der refererer til et ikke-installeret plug-in.

(Bemærk: Den farverige diamant i det øverste venstre hjørne af plug-in-rummet vises, hvis computeren er forbundet til internettet. Hvis computeren ikke har forbindelse til internettet, erstattes denne diamant med en rød x karakter, og tydeligvis vil Explorer ikke gøre noget for at skaffe plug-in'en).

Forudsat at computeren er forbundet til internettet, fortsætter Explorer med at downloade en lille ActiveX-kontrol, der er ansvarlig for at downloade Java Plug-in ActiveX-kontrol og JRE. Stifinder viser Verisign-certifikatet, der er knyttet til denne første ActiveX-kontrol, som vist i figur 5.

Forudsat at du vælger at installere og køre Java Plug-in, beder Explorer dig om lokal information via dialogboksen vist i figur 6 ved at klikke på knappen Ja i den forrige dialogboks.

Når lokal information er opnået (og du har klikket på knappen Installer), viser Explorer en downloaddialogboks, som vist i figur 7.

Når download er afsluttet, forsøger Explorer at starte JRE med Java Plug-in installationsprogrammet. (Første gang jeg downloadede Java Plug-in via Stifinder, modtog jeg en CAB - Windows-kabinet - filkorrupt fejlmeddelelse, som forhindrede installationsprogrammet i at starte og fuldføre installationen. Installationsprogrammet startede og blev fuldført på andet forsøg.) Så snart installationsprogrammet er færdigt, indlæser Explorer og kører appleten (eller JavaBeans-komponenten) som vist i figur 8.

Windows-registreringsindstillinger

Installationsprogrammet JRE med Java Plug-in registrerer forskellige JRE- og Java Plug-in-indstillinger i Windows-registreringsdatabasen - en central database med installation og andre konfigurationsdata og en grundlæggende del af de forskellige 32-bit Windows-operativsystemer. Den følgende tabel viser flere Java Plug-in-indstillinger, der er gemt i denne database. Hver indstilling består af en nøgle, der identificerer en indstilling samt værdien af ​​denne indstilling.

NøgleVærdi
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 / Software / JavaSoft / Java Plug-in / Debug Mode0
HKEY_CURRENT_USER / Software / JavaSoft / Java Plug-in / Debug Port2502
HKEY_CURRENT_USER / Software / JavaSoft / Java Plug-in / Java RuntimeStandard
HKEY_CURRENT_USER / Software / JavaSoft / Java Plug-in / Java Runtime-version1.2
HKEY_CURRENT_USER / Software / JavaSoft / Java Plug-in / JIT aktiveret1
HKEY_CURRENT_USER / Software / JavaSoft / Java Plug-in / JIT-stisymcjit
Tabel 1. Java-plugin-indstillinger, der er gemt i Windows-registreringsdatabasen

De første to Java-plugin-indstillinger identificeres af JavaHome og RuntimeLib nøgler. Værdierne forbundet med disse nøgler bruges af Communicator og Explorer til at finde henholdsvis JRE-hjemmekataloget og JRE's virtuelle maskine. Katalogoplysningerne indeholdt i disse værdier afspejler standardinstallationsmappen, der er valgt under installationen. De resterende taster bruges af Java Plug-in Kontrolpanel.

Kommando og kontrol

Det Java Plug-in Kontrolpanel er et Swing-program, der gør det muligt at ændre Java Plug-in's adfærd. Installationsprogrammet JRE / Java Plug-in tilføjer en post til Windows-programstarteren, der, når den er valgt, aktiverer Java Plug-in-kontrolpanelet. Denne post består af følgende linje (forudsat standardinstallationsmappen):

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

Kontrolpanelet består af et interface med faner med tre faner (Basic, Advanced og Proxies) og to knapper (Apply and Reset). Fanen Grundlæggende styrer den grundlæggende funktion af Java Plug-in. For eksempel kan du vælge, om Java Plug-in's egen Java-konsol skal vises. Fanen Avanceret styrer hvilken JRE der skal bruges med Java Plug-in sammen med fejlretning. Fanen Proxyer styrer adresserne og portnumrene, som Java Plug-in bruger, når de kommunikerer via en mellemliggende computer med en anden computer over Internettet. Knappen Anvend gemmer alle ændringer, der er foretaget i kontrolpanelet, mens knappen Nulstil gendanner standardværdier.

Figur 9 viser kontrolpanelet med Grundlæggende fanen som den aktive fane.

Afkrydsningsfeltet Enable Java Plug-in giver Java Plug-in mulighed for at køre applets eller JavaBeans-komponenter. Standardindstillingen er aktiveret (feltet er markeret).

Afkrydsningsfeltet Vis Java-konsol gør det muligt at få vist den nye Java-konsol, mens du kører applets eller JavaBeans-komponenter. Som vi vil se senere, viser konsollen meddelelser, der er udskrevet af System.out og System.err objekter (nyttige til fejlfinding). Standardindstillingen bruges til at vise den nye Java-konsol (feltet er markeret).

Afkrydsningsfeltet Cache-JAR'er i hukommelse forårsager, når det er markeret, tidligere indlæste applet- eller komponentklasser cache og genbruges, når denne applet genindlæses, hvilket muliggør mere effektiv hukommelsesbrug. Denne indstilling skal ikke være markeret, hvis en applet eller komponent debugges, eller hvis du vil sikre dig, at den seneste applet eller komponentklasser downloades. Standardindstillingen er at cache JAR'er i hukommelsen (feltet er markeret).

I rullelisten Netværksadgang kan du vælge, hvilken tilladelse til netværksadgang du vil give dine kørende applets og komponenter. Denne indstilling er aktiveret, hvis du kører Java Plug-in 1.1.x. For Java Plug-in 1.2 skal du bruge den nye sikkerhedsarkitektur for at aktivere den samme adfærd. (For mere information, se "Sikkerhed og signerede applets / sikkerhedsarkitektur" i JDK 1.2-dokumentationen.) Som standard kan applets og komponenter kun oprette forbindelse igen til deres originale server (Network Access = Applet Host). Når netværksadgang er aktiveret, kan du bruge følgende tillæg ud over standard:

  • Tillad enhver netværksadgang, så en applet eller komponent ikke kan foretage netværksopkald

  • Tillad ubegrænset netværksadgang (hvilket er en sikkerhedsrisiko og skal bruges meget omhyggeligt), så en applet eller komponent kan oprette forbindelse til enhver værtsserver

Det Java Run Time Parameters tekstfelt tilsidesætter standardstartparametrene for Java Plug-in ved at angive brugerdefinerede indstillinger. Du bruger den samme syntaks til dette tekstfelt, som du bruger, når du angiver parametre til java.exe kommandolinjeværktøj.

Figur 10 viser kontrolpanelet med Fremskreden fanen som den aktive fane.

Det Java Run Time Environment dropdown listbox tillader Java Plug-in at køre med JDK 1.2 eller enhver JRE, der er installeret på din maskine. Java Plug-in 1.2 leveres med en standard JRE (i øjeblikket JRE 1.2). Du kan dog tilsidesætte denne standard-JRE og bruge en ældre eller nyere version. Kontrolpanelet registrerer automatisk alle versioner af JDK eller JRE, der er installeret på maskinen. Det viser disse versioner i listen. Det første element på listen vil altid være Java Plug-in-standard, mens det sidste element altid vil være Andet. Hvis du vælger Andet, skal du angive stien til JRE eller JDK 1.2.

Afkrydsningsfeltet Enable JIT Compiler (kun Win32-platforme) aktiverer just-in-time (JIT) -compileren. Hvis du aktiverer compileren, skal du også angive stien til JIT-compileren. JIT-kompilatoren skal være placeret i beholder mappe til JRE eller JDK, der er valgt til runtime-miljøet.