Anasayfa | Web'den haberler | webbilisim Hakkında | İletişim | Filmler| || | | üye girişi | kayıt

JAVA PLUG-IN

JAVA PLUG-IN

Bundan birkaç yıl önce Sun1 HotJava adlı web browserı piyasaya çıkardı. Sun'ın bu web browserı1 Java'yı destekliyordu. Buda içine java nesneleri gömülebilen uygulamaların ilk örneğini teşkil ediyordu. Bunun ardından Netscape kendi web browserınada Java desteğini ekledi. Ardından da MS.
Gün geçtikce Java'nın yeni sürümleri çıktı. Bununla birlikte Netscape ve MS kendi ihtiyaçlarına uygun sınıf kütüphanelerini eklediler browserlarına. Böylece her browserın kendine özel JVM ( Java Virtual Machine ) 'i oldu. Dolayısıyla browserların içine gömülen JVM ile browserdan bağımsız olarak JVM 'i güncellemek imkansızdı.
Sun1 herhangi bir ortamda Java'nın çalışabilmesi için gerekli olan her şeyi içeren ( Java VM ve sınıf kütüphaneleri ) JRE 'yi çıkardı. Eğer JRE bilgisayarınızda yüklüyse1 herhangi bir uygulamaya ( örneğin browser ) gömülmüş java nesneleri çalışabiyor. Sorun1 browserların sadece kendi JVM lerine bakmaları ve makinada yüklü olan JRE 'ye ulaşmak için bir mekanizmaya sahip olmamalarıydı. Sun olaya el attı : Java Plug-In
Sun'ın geliştirdiği Java Plug-In1 JRE 'ye HTML sayfalarından browserı kullanarak ulaşmak için bir mekanizma. Java Plug-In1 Sun'ın web sitesinden bedavaya indirilebiliyor. Sayfaya girildiğinde1 istenen java sürümü kullanıcının makinasında yüklü değilse1 kullanıcı Java Plug-In sayfasına yönlendirilir. Java Plug-In1 Netscape'de plug-in olarak1 IE 'de ise ActiveX Control olarak otomatik yüklenir.

Java Plug-In Kullanmak

Java Plug-In Kullanmak
Java Plug-In1 Netscape'de EMBED1 IE 'de ise OBJECT tagı sayesinde kullanılabilir. MIME tipi ile istenen java sürümünü belirtmelisiniz. Örneğin Java 1.2 sürümünün özelliklerini kullanan bir appletiniz varsa1 MIME tipinde bunu belirterek appletinizin doğru çalışmasını sağlarsınız.
MIME Tipi Nesne Tipi / Sürüm
application/x-java-applet; Applet / Mevcut sürüm
application/x-java-applet;version=1.1 Applet / Java 1.1
application/x-java-applet;version=1.2 Applet / Java 1.2
application/x-java-bean; Bean / Mevcut sürüm
application/x-java-bean;version=1.1 Bean / Java 1.1

HTML sayfasına appletinizi geleneksel yöntemlerle koymak isterseniz1 yani Java Plug-In kullanmak istemiyorsanız APPLET tagını kullanmanız gerekir. Java Plug-In kullanmak istiyorsanız;
Netscape için EMBED tagını kullanmalısınız :
<HTML>
<BODY>
<EMBED type="application/x-java-applet;version=1.1" width="200" height="200" code="Appletim.class" codebase="/appletler/" parametre1="2" pluginspage="http://java.sun.com/products/plugin/1.1/plugin-install.html">
<NOEMBED>
Applet Desteklenmiyor
</NOEMBED>
</EMBED>
</BODY>
</HTML>
PLUGINSPAGE ve TYPE alt tagını kullanmanız gerektiğini unutmayınız. Çünkü browser Java Plug-In yükleme sayfasını ve sürümü bilmesi gerekir. APPLET tagında kullanılan PARAM alt tagını bu durumda kullanmazsınız. Parametreleri direkt1 örnekte görüldüğü gibi ( parametre1="2") direkt yazmalısınız.CODE1 CODEBASE1WIDTH1HEIGHT gibi alt taglar APPLET tagında olduğu gibi kullanılır.
Internet Explorer için OBJECT tagını kullanmalısınız :
<HTML>
<BODY>

<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" width="200" height="200" codebase="http://java.sun.com/products/plugin/
1.1/jinstall-11-win32.cab#Version=1111010">
<PARAM NAME="code" VALUE="Appletim.class">
<PARAM NAME="codebase" VALUE="/appletler/">
<PARAM NAME="type" VALUE="application/x-java-applet;version=1.1">
<PARAM NAME="parametre1" VALUE="2">
Applet desteklenmiyor

</OBJECT>

</BODY>
</HTML>

Burada CODEBASE alt tagı gömülü nesnenin gerektirdiği ActiveX Controlünün yeridir. Java'ya ait codebase1 type1 code gibi taglar PARAM alt tagı ile belirtilir.
Netscape ve IE için farklı yöntemlerin kullanılması1 her biri için ayrı web sayfalarımız olacağı anlamına gelmiyor. HTML kodu kullanarak her ikisi içinde geçerli bir sayfa hazırlayabilirsiniz. Fakat böyle bir HTML kodu yazmak için kendinizi kasmayın. Çünkü Sun1 Java Plug-In ile beraber HTML Çeviricisi ( HTML Converter ) sunuyor. Bu çevirici sayesinde HTML sayfasında kullanılan APPLET tagları her iki browserda da kullanılabilecek şekilde çevriliyor.
Applet Neden Çalışmıyor?
Appletler1 dinamik web tabanlı içerik için en ideal programcıklardır. Teorikte bir kere yaz1 her bilgisayarda1 her browserda ve her işletim sisteminde çalıştır; mantığını ileri süren Sun bunu "Bir kere yaz1 her yerde çalıştır ( Run Once1 Run Anywhere ) " sloganıyla lanse ediyor.
Pratikte1 birçok java programcısı ve birçok kullanıcı Java appletlerinin başağrısına sebep olduğunu söylüyorlar. "Neden applet çalışmıyor ?" içerikli birçok mail geliyor.
Applet çalıştığı zaman tam çalışıyor1 çalışmadığı zaman ise büyük bir sorun halini alıyor. Hatayı bulmak ve hatayı düzeltmek gerçekten başağrısına neden olabiliyor. Hatta Java ile program geliştirmeyi bu yüzden bırakanlar bile var. Değişik browserlar1 browser sürümlerinin farklılıkları1 hatta browser konfigürasyonlarındaki farklılıklar appletlerin çalışmasında rol oynayabiliyor. Browserlara gömülü Java Sanal Makinasındaki ( Java Virtual Machine ) buglar ve bilgisayarın performansıda etkili oluyor.
Şayet browser'ınız hiçbir appleti çalıştıramıyor ise1 java applet ihtiva eden bir sayfayı çağırdığınızda takılıp kalıyorsa browser yazılımını tekrar kurmak çoğu zaman problemi ortadan kaldırıyor. Bu söz konusu değilde1 gri bir dikdörtgenden başka bir şey göremiyorsanız bunun bir kaç sebebi olabilir.
Neden Gri Dikdörtgen?
Appletin yüklenmesi sırasında veya yüklendikten sonra çalıştırılması sırasında meydana gelen hatalardan dolayı oluşur. Java programlama dilinde bunun teknik adı "Exception" dır. Java'da hataları yakalama imkanı olduğunu biliyoruz1 daha doğrusu bilinen çoğu hatayı desek daha iyi olur. Oluşan hatalar bilinmedik1 beklenmedik hata veya appletden kaynaklanmayan hatalar olabildiği için bu hataları yakalama imkanı yok. Şimdi en çok karşılaşılan ve bilinen hataları inceleyelim :
Class dosyasına ulaşamama veya yükleyememe
Bilindiği gibi applet dediğimiz programcıklar1 derlendikten sonra class dosyası halini alıyorlar. Appletlerin çalışması için bu class dosyalarının yüklenmesi gerekiyor. Şayet class dosyasının yeri bulunamaz veya dosya yüklenirken hata oluşur ise gri kutunun içinde class dosyasını bulunamadığına dair veya yüklenirken hata oluştuğuna dair bir hata mesajı çıkar ve applet çalışmaz. Applet çalışmadığı için1 ki hata daha applet yüklenirken oluştuğu için1 applet kodu içinden bu hatayı yakalamanız ve engellemeniz mümkün değildir. Bu hata çoğu durumda1 <applet> tagı içinde class dosyasının bulunduğu yeri yanlış olarak belirtildiği zaman ortaya çıkıyor.
Ağ kaynaklarına erişememe
Bazı zamanlar ağ üzerinde bulunana server göçer veya herhangi bir sebepten bağlantı kurulamaz. Kullanıcı firewall arkasındadır ve Socket1 DatagramSocket istekleri çalışmaz. Eğer ağ kaynaklarına erişim gerektiren bir applet yazıyorsanız1 iletişim için TCP/UDP protokülü yerine HTTP protokülünü kullanın. Çünkü firewall arkasında olan kullanıcı sayısı gün geçtikçe artıyor. Karşılaşılan diğer bir hata sebebi ise1 browserların appletler ile ilgili kısıtlamalarından kaynaklanıyor.
Appletviewer'da sorunsuz çalışan applet1 browserda çalışmıyor. Applet sadece bulunduğu server ile bağlantı kurabilir. Birçok applet ise domain isimlerini IP adresine çevirirken hata oluşturuyorlar. Bunu önlemek için domain ismi yerine IP adresi kullanın.
Null Hataları
Çok karşılaşılan hatalardan biriside NULL hatalarıdır. Bu appletin kodundan kaynaklanan ve appletin çalışmamasını sağlayan bir hatadır. Bir değişkene bir nesne atarken1 nesnenin değerinin Null ( değersiz ) olmamasına dikkat edin. Aşağıdaki örneği inceleyin:
Örnek:
String sayac = getParameter ("sayac"); //sayac parametresini al
if ( sayac == null ) // Eğer sayac null ise
sayac = "1"; // sayac değerini "1" yap.
Biraz dikkat ile1 web sayfalarında önümüze çıkan gri dikdörgen kutucukları azaltabiliriz.