Anslut till Java med Java Plug-in

När Java-tekniken mognar släpper Sun Microsystems (Java: s skapare) nya versioner av Java via Java Development Kit (JDK). Netscape och andra webbläsarleverantörer stöder varje ny version genom att lägga till den versionens runtime-komponent - Java Runtime Environment (JRE) - till nästa iteration av sina webbläsare. Fördröjningstiden mellan Suns introduktion av en ny Java-version och lanseringen av webbläsare som stöder den har dock frustrerat företagets intranätutvecklare som behöver använda de senaste JRE-funktionerna (och buggfixar). Och Microsofts vägran att helt stödja JRE i Internet Explorer 4.0 och 5.0 har gjort situationen ännu mer frustrerande för utvecklare.

Sun har en lösning på dessa problem. Denna lösning kringgår leverantören och förlitar sig på plug-in-teknik för att distribuera nyare JRE.

En plugin-arkitektur - i huvudsak en kombination av en arkitektur och plug-ins - är en specifikation för och implementering av den del av en webbläsare som dynamiskt laddar plug-ins efter behov. Både Netscape och Microsoft har lagt till denna arkitektur i sina webbläsare. (De faktiska implementeringarna av arkitekturen är helt olika: Netscape använder en enkel körbar implementering, medan Microsoft använder sin ActiveX-objektmodellimplementering.)

Ett plugin- program är körbar kod som lagras i en biblioteksfil. När det hänvisas via speciella HTML-taggar laddar webbläsaren detta bibliotek via dess plugin-arkitektur och börjar köra bibliotekets kod. (Om du någonsin har stött på en webbsida som refererar till Macromedias Shockwave eller VXtreme Web Theatre, har du sett exempel på plugin-program på jobbet.)

Suns lösning är att skapa ett plugin-program för Java, känt som Java Plug-in.

Vad är Java Plug-in?

Java Plug-in är en mjukvaruprodukt som fungerar som en bro mellan en webbläsare och en extern JRE. En utvecklare "säger" till webbläsaren att använda denna externa JRE genom att placera speciella HTML-taggar på en webbsida. När detta är gjort kan en webbläsare köra Java-applets eller JavaBeans-komponenter som har tillgång till alla funktioner (inom gränserna för Java: s säkerhetsmodell) i denna externa JRE.

Sun släppte Java Plug-in 1.1 i april '98. Strax därefter undersökte JavaWorld sin läsarkrets för att mäta reaktionen på den här produkten. Java-insticks 1.1.1 och 1.1.2 underhållsversionerna följde. (Se Resurser för mer information om JavaWorld- enkäten och utgåvor av Java Plug-in.)

Samtidigt med lanseringen av JDK 1.2 (nu känd som Java 2-plattformen) har Sun släppt Java Plug-in 1.2. Till skillnad från tidigare utgåvor är denna version för närvarande endast tillgänglig för Microsoft Windows (95/98 / NT) -plattformen. Sun arbetar för närvarande med att göra Java Plug-in 1.2 tillgänglig för sin Solaris-plattform.

Den här artikeln utforskar Java Plug-in 1.2, som börjar med en diskussion om hur man laddar ner och installerar denna teknik. Det är baserat på min erfarenhet av att använda Java Plug-in 1.2 med webbläsarna Internet Explorer 3.02 och Netscape Communicator 4.5 under operativsystemet Windows 95.

Bli ansluten!

Java Plug-in 1.2 är för närvarande förpackat med JRE 1.2. Om du vill förinstallera Java Plug-in, ladda ner och installera JRE 1.2 från Suns webbplats, som är länkad i avsnittet Resurser. Eller så kan du välja att låta din webbläsare ladda ner Java Plug-in (med minimalt ingripande från dig, beroende på din webbläsare) när du "surfar" till en webbsida som refererar till plugin-programmet. Här är hur:

När en webbläsare stöter på en webbsida som kräver användning av Java Plug-in kontrollerar den om Java Plug-in har installerats på samma maskin som webbläsaren. Om den inte har det måste webbläsaren ladda ner och installera de filer som krävs. Hur detta fungerar beror på din webbläsare, så vi tittar på dessa skillnader nästa.

Netscape Communicator 4.5

Om du använder Netscape Communicator aktiverar nedladdningen en webbsida som innehåller HTML- taggen som refererar till Java Plug-in. Vi utforskar senare i den här artikeln. För närvarande är det tillräckligt att veta att det innehåller information som berättar för webbläsaren vilket plugin- program som krävs och var man kan få det. Figur 1 visar den första nedladdningssidan som visas när Communicator stöter på en webbsida som refererar till ett icke-installerat plugin-program.

Om du klickar på bilden på den sidan visar Communicator en dialogruta "Plug-in Not Loaded" som den som visas i Figur 2.

Denna dialogruta visar oss att webbläsaren vet exakt vad den behöver (ett plugin-program för application/x-java-applet;version=1.2) och var man kan hämta det (//java.sun.com/products/plugin/1.2/plugin-install.html).

Så vad händer när du klickar på knappen "Hämta plugin-programmet"? Webbläsaren växlar från den aktuella sidan till den sida som anges av Internetadressen i dialogrutan. Från den sidan följer du anvisningarna för att ladda ner och installera JRE 1.2 med Java Plug-in.

När JRE med Java Plug-in har installerats, vid Netscapes nästa möte med en webbsida som kräver Java Plug-in, laddas detta plugin-program från den lokala maskinens hårddisk och appleten eller JavaBeans-komponenten körs som visas i figur 3.

Internet Explorer 3.02

Om du använder Internet Explorer kommer en webbsida som innehåller taggen som refererar till Java Plug-in att aktivera processen för nedladdning av denna plugin. (Som med kommer vi att utforska taggen senare i den här artikeln). Den här taggen innehåller information som låter webbläsaren veta vilken typ av plugin-program som krävs och var man kan få det. Som vi kommer se är processen för att få Java Plug-in något mer automatiserad under Explorer än under Communicator. Figur 4 visar den första sidan som visas när Explorer möter en webbsida som refererar till ett icke-installerat plugin-program.

(Obs! Den färgstarka diamanten i det övre vänstra hörnet av plugin-utrymmet visas om datorn är ansluten till Internet. Om datorn inte är ansluten till Internet ersätts denna diamant med ett rött X- tecken och uppenbarligen Explorer gör ingenting för att få plugin-programmet).

Förutsatt att datorn är ansluten till Internet fortsätter Explorer med att ladda ner en liten ActiveX-kontroll som är ansvarig för nedladdning av Java Plug-in ActiveX-kontroll och JRE. Explorer visar Verisign-certifikatet som är associerat med den första ActiveX-kontrollen, som visas i figur 5.

Förutsatt att du väljer att installera och köra Java Plug-in, genom att klicka på Ja-knappen i föregående dialogruta, uppmanar Explorer dig till lokal information via dialogrutan som visas i Figur 6.

När lokalinformationen har erhållits (och du har klickat på knappen Installera) visar Explorer en nedladdningsdialogruta, som visas i figur 7.

När nedladdningen är klar försöker Explorer starta JRE med Java Plug-in installationsprogram. (Första gången jag laddade ner Java Plug-in via Explorer fick jag ett CAB - Windows-skåp - filskadad felmeddelande, som förhindrade installationsprogrammet från att starta och slutföra installationen. Installationsprogrammet startade och slutfördes framgångsrikt på andra försök.) Så snart installationsprogrammet är klart laddar Explorer och kör appleten (eller JavaBeans-komponenten), som visas i figur 8.

Windows-registerinställningar

Installationsprogrammet JRE med Java Plug-in registrerar olika JRE- och Java Plug-in-inställningar i Windows-registret - en central databas med installations- och andra konfigurationsdata och en grundläggande del av de olika 32-bitars Windows-operativsystemen. Följande tabell visar flera Java Plug-in-inställningar som lagras i denna databas. Varje inställning består av en nyckel som identifierar en inställning samt värdet av den inställningen.

Nyckel Värde
HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java Plug-in/1.2/JavaHome c:\Program Files\JavaSoft\JRE\1.2
HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java Plug-in/1.2/RuntimeLib c:\Program Files\JavaSoft\JRE\1.2\bin\classic\jvm.dll
HKEY_CURRENT_USER/Software/JavaSoft/Java Plug-in/Debug Mode 0
HKEY_CURRENT_USER/Software/JavaSoft/Java Plug-in/Debug Port 2502
HKEY_CURRENT_USER/Software/JavaSoft/Java Plug-in/Java Runtime Default
HKEY_CURRENT_USER/Software/JavaSoft/Java Plug-in/Java Runtime Version 1.2
HKEY_CURRENT_USER/Software/JavaSoft/Java Plug-in/JIT Enabled 1
HKEY_CURRENT_USER/Software/JavaSoft/Java Plug-in/JIT Path symcjit
Tabell 1. Java Plug-in-inställningar som lagras i Windows-registret

De två första Java Plug-in inställningar identifieras av JavaHomeoch RuntimeLibnycklar. Värdena associerade med dessa nycklar används av Communicator och Explorer för att lokalisera JRE-hemkatalogen och JRE: s virtuella maskin. Kataloginformationen i dessa värden återspeglar den standardinstallationskatalog som valts under installationen. De återstående tangenterna används av Java Plug-in Kontrollpanelen.

Kommando och kontroll

Den Java Plug-in på Kontrollpanelen är en Swing applikation som gör det möjligt att modifiera beteendet hos Java Plug-in. Installationsprogrammet JRE / Java Plug-in lägger till en post i Windows-programstartaren som aktiverar Java Plug-in-kontrollpanelen när den väljs. Den här posten består av följande rad (förutsatt standardinstallationskatalog):

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

Kontrollpanelen består av ett flikgränssnitt med tre flikar (Basic, Advanced och Proxies) och två knappar (Apply and Reset). Fliken Grundläggande styr den grundläggande funktionen för Java Plug-in. Du kan till exempel välja om Java-plugin-programmets egen Java-konsol ska visas eller inte. Fliken Avancerat styr vilken JRE som ska användas med Java Plug-in tillsammans med felsökning. Fliken Proxies styr adresserna och portnumren som Java Plug-in använder när de kommunicerar via en mellanliggande dator med en annan dator via Internet. Använd knappen sparar alla ändringar som görs på kontrollpanelen, medan återställningsknappen återställer standardvärdena.

Figur 9 visar kontrollpanelen med fliken Basic som den aktiva fliken.

Kryssrutan Aktivera Java-plugin-program gör det möjligt för Java Plug-in att köra applets eller JavaBeans-komponenter. Standardinställningen är aktiverad (rutan är markerad).

Kryssrutan Visa Java-konsol gör det möjligt att visa den nya Java-konsolen medan du kör applets eller JavaBeans-komponenter. Som vi kommer att se senare visar konsolen meddelanden som har skrivits ut av System.outoch System.errobjekt (användbara för felsökning). Standardinställningen används för att visa den nya Java-konsolen (rutan är markerad).

Kryssrutan Cache-JAR i minnet orsakar, när den är markerad, att tidigare laddade applet- eller komponentklasser cachas och återanvänds när den applet laddas om, vilket möjliggör mer effektiv minnesanvändning. Det här alternativet ska vara avmarkerat om en applet eller komponent debuggar eller om du vill se till att de senaste appleten eller komponentklasserna laddas ner. Standardinställningen är att cacha JAR i minnet (rutan är markerad).

I listrutan Nätverksåtkomst kan du välja vilket nätverksåtkomsttillägg du vill bevilja dina pågående applets och komponenter. Det här alternativet är aktiverat om du kör Java Plug-in 1.1.x. För Java Plug-in 1.2 måste du använda den nya säkerhetsarkitekturen för att möjliggöra samma beteende. (För mer information, kolla in "Säkerhet och signerade applets / säkerhetsarkitektur" i JDK 1.2-dokumentationen.) Som standard kan applets och komponenter endast anslutas till sin ursprungliga server (Network Access = Applet Host). När nätverksåtkomst är aktiverad kan du använda följande tillägg utöver standard:

  • Tillåt all nätverksåtkomst så att en applet eller komponent inte kan ringa några nätverkssamtal

  • Tillåt obegränsad nätverksåtkomst (vilket är en säkerhetsrisk och måste användas mycket noggrant) så att en applet eller komponent kan ansluta till vilken värdserver som helst

Textfältet Java Run Time Parameters åsidosätter standardinställningarna för Java Plug-in genom att ange anpassade alternativ. Du skulle använda samma syntax för det här textfältet som du använder när du anger parametrar för java.exekommandoradsverktyget.

Figur 10 visar kontrollpanelen med fliken Avancerat som den aktiva fliken.

I rullgardinslistan Java Run Time Environment kan Java Plug-in köras med JDK 1.2 eller någon JRE som är installerad på din maskin. Java Plug-in 1.2 levereras med en standard JRE (för närvarande JRE 1.2). Du kan dock åsidosätta denna standard-JRE och använda en äldre eller nyare version. Kontrollpanelen upptäcker automatiskt alla versioner av JDK eller JRE som har installerats på maskinen. Dessa versioner visas i listrutan. Det första objektet i listan är alltid Java Plug-in-standard, medan det sista objektet alltid är Annat. Om du väljer Annat måste du ange sökvägen till JRE eller JDK 1.2.

Kryssrutan Aktivera JIT-kompilator (endast Win32-plattformar) aktiverar just-in-time (JIT) kompilatorn. Om du aktiverar kompilatorn måste du också ange sökvägen till JIT-kompilatorn. JIT-kompilatorn måste placeras i binkatalogen för JRE eller JDK som har valts för runtime-miljön.