AdanZye Java WwwJavaDiliCom
AdanZye Java WwwJavaDiliCom
m
Java sayesinde; animasyonlar, kayan yazılar, web sayfalarında chat, hesap makinesi,
oyunlar, şifreleme programları, interaktif web sayfaları, müzik, kelime işlemci, küçük
internet appletleri, kocaman paket programlar, resim işleme programları, tercüme
programları, sipariş sistemleri, saatler, yazım kontrol programları yapılabilir.
o
HTML'de Java
i.c
Bir applet hazırladığınızda, bunu bir HTML dökümanına yerleştirmelisiniz. HTML 3.2 ile
birlikte, Java appletlerin kullanılmasını sağlayan iki yeni eleman çıktı. Bunlar APPLET ve
PARAM. Diğer HTML elemanları gibi bu iki elemanın da birçok özellikleri mevcuttur. Fakat
ideali, sadece gerekli olan özelliklerin kullanılmasıdır.
dil
APPLET elemanı, HTML dökümanına yerleştirdiğiniz appletin tanımlanmasını ve
özelliklerinin tanımlanmasını sağlar. Her HTML elemanı gibi, APPLET elemanının da bir
başlangıç tagı <APPLET> ve bitiş tagı </APPLET> vardır.
APPLET elemanı için gerekli olan özellikler: CODE, WIDTH ve HEIGHT'tir. CODE özelliği
kullanılacak appleti, WIDTH özelliği appletin genişliğini (pixel), HEIGHT özelliği ise
appletin yüksekliğini (pixel) belirlemenizi sağlar. Aşağıda gerekli olan özellikleri ile bir
appletin HTML dökümanına bağlanmış şeklini görüyorsunuz.
va
<HTML>
<HEAD>
<TITLE> Maximum Bilgi </TITLE>
</HEAD>
<BODY>
<APPLET CODE="[Link]" WIDTH=300 HEIGHT=100>
ja
</APPLET>
</BODY>
</HTML>
Yukarıdaki örnekte HTML dökümanı ve "[Link]" adlı java appleti aynı dizinde
w.
bulunmalıdırlar. Şayet java appleti farklı bir dizinde ise, opsiyonel CODEBASE özelliğini
kullanmanız gerekir.
<HTML>
<HEAD>
<TITLE> Maximum Bilgi </TITLE>
</HEAD>
<BODY>
<APPLET CODE="[Link]"
CODEBASE=""[Link] WIDTH=300
HEIGHT=100>
</APPLET>
</BODY>
</HTML>
m
ALIGN
o
HSPACE
i.c
HSPACE‘e vereceğiniz değer, pixel olarak işlenir. Örnek: HSPACE=10
VSPACE
dil ALT
NAME
va
Applete bir isim vermenizi sağlar.
<PARAM> tagı kullanmalısınız. PARAM taglarını başlangıç tagı <APPLET> ile bitiş tagı
</APPLET> arasına yerleştirmelisiniz.
parametrenin adı belirtilir ki "getparameter" metodu ile bu isme göre aranır. VALUE
özelliği ise parametrenin değerini verir. Aşağıda, applette kullanılacak resmi, parametre
ile girilen bir HTML dökümanı örneği verilmiştir.
<HTML>
<HEAD>
<TITLE> Maximum Bilgi </TITLE>
ww
</HEAD>
<BODY>
<APPLET CODE="[Link]" WIDTH=300 HEIGHT=100>
<PARAM NAME=Resim VALUE="[Link]" >
</APPLET>
</BODY>
</HTML>
Java'da her şey bir nesnedir. Tek istisna veri tipleridir. Java veri tipleri, bütün
platformlarda standart büyüklüğe sahiptir. Bu standart Java'nın taşınabilirliğini sağlıyor.
m
Aşağıda Java'da bulunan veri tipleri ve büyüklükleri listelenmiştir.
o
short 16-bit
int 32-bit
long 64-bit
i.c
float 32-bit kayan nokta
double 64-bit kayan nokta
char 16-bit Unicode
dil
Eğer C/C++ programcısı iseniz "unsigned" tipinin olmadığı dikkatinizi çekmiştir. Byte tipi
ise C/C++'daki "char" tipinin yerini almıştır. Java'daki char tipi 16 bittir. Çünkü Java
karakter verisinde Unicode karakter setini temel alır.
Literaller, değişkenlere değer atamak için kullanılır. Integer'lara C/C++ benzer biçimde
değer atanır. 25 gibi tamsayı atayabilirsiniz. Hexadecimal bir tamsayı atamak için, sayının
önüne "0x" ifadesi koymanız gerekir. Örneğin, 15 sayısını hexadecimal olarak 0xF
şeklinde atamalısınız. 8'lik tabanda bir sayı atamak için "0" ifadesini, sayının önüne
ja
koymalısınız.
Kayan noktalı sayıları ise direkt 5.2345 şeklinde atayabilirsiniz. Bunlar 32 bit float veya
64 bit double olarak saklanabilirler. Belirtmezseniz, varsayılan 64 bit double'dır. Belirtmek
için yapacağınız tek şey, sayının arkasına float için F, double için D koymaktır. Örneğin
w.
Karakterler, tek tırnak içinde atanırlar. Örneğin 'a'gibi. Escape karakterleri için slash (\)
kullanılır. Bunlar da tırnak içinde belirtilir. \t=tab, \n=satır atlama gibi. Stringler için çift
tırnak kullanılır. "Maximum Bilgi" gibi. Satır atlaması yapmak istiyorsanız "Maximum Bilgi
\n" kullanmalısınız.
ww
Değişkenler
Java'da 3 tip değişken vardır: instance, class ve local. Lokal değişkenler, metodların ve
blokların içinde tanımlanabilirler. Blok, "{" ile başlayan ve "}" ile biten ifadeler
topluluğudur. Blok içinde tanımlanan lokal değişkenler, blok sonuna kadar geçerlidir.
Genel formatı <tip> <değişken adı> şeklindedir. Örneğin double tipinde pi adlı değişkeni
tanımlayalım: double pi; bir değer de atayabilirdik: double pi=3.1415.
Değişkenler; harf, sayı, dolar işareti, alt çizgi ile başlayıp bu karakterlerle devam edebilir.
Ama komutlar, operatörler değişken ismi olarak kullanılamazlar.
Açıklamalar
m
Programlarınıza açıklama koymak için, Java'da kullanabileceğiniz iki stil vardır. Birincisi
çift slash ( // ). Çift slash'tan satır sonuna kadar olan kısımda bulunan her şey açıklama
olarak kabul edilir.
o
İkincisi ise slash ve yıldız ( /*) ile başlar yıldız ve slash ile biter. Bunlar arasındaki her
şey, açıklama olarak kabul edilir. Örnek 1: double pi; // pi değişkeni double olarak
tanımlandı. Örnek 1: /* Bu programın amacı sayısal loto tahmini yapmaktır.
i.c
Operatörler
Kategori Operatör
Aritmetik +-*/%
İlişkiseldil
Bit işlemeri
Artırma
< > >= <= == != && ||
& | ^ << >> >>> ~ &= |= ^=
++
Azaltma --
va
Aşağıda iki değişken tanımlanıp, bunlara değer atanıyor. Daha sonra ise bu iki değişkenin
içeriği toplanıyor:
int x,y ;
x= 3 ;
ja
y=4 ;
int z=x+y ;
[] ()
++ - ! ~
*/%
+-
ww
m
Ayrılmış Kelimeler
o
kullanamazsınız. Bunlar sınıf tanımlaması, değişken tipi belirleme, koşul, döngü gibi
işlemler için kullanılır.
Abstract
i.c
boolean
break byte
byvalue case
catch char
class const
dil
continue
do
else
false
default
double
extends
final
finally float
for goto
va
if implements
import instanceof
int interface
long native
new null
ja
package private
protected public
return short
w.
static super
switch synchronized
this threadsafe
throw transient
true try
ww
void while
Karşılaştırmalar
m
if (karşılaştırma)
{ karşılaştırmanın sonucu
doğru ise işlencek komutlar
}
else
o
{ karşılaştırmanın sonucu
yanlış ise işlencek komutlar
}
i.c
Yukarıdaki örneği java formatında yazarsak :
dilyoktur.
Eğer birçok karşılaştırma varsa, iç içe karşılaştırmalar (if ) kullanılabilir. Sonucu nümerik
olan karşılaştırmalar için "switch...case..." komutu kullanılır. Bu komut, sadece nümerik
değerler için kullanılır. Formatı şu şekildedir:
switch (değişken)
va
{
case 1: // değişkenin değeri 1 ise
break;
case 2:{
// değişkenin değeri 2 ise
break;
}
ja
Döngüler
w.
Java 'da üç tane döngü işlemi vardır. "for" döngüsünün yapısı aşağıdaki şekildedir. for (ilk
değer; test; değer artırma/azaltma) Bu yapıda görülen ilk değer ifadesi, değişkeninizin
alacağı ilk değerdir. Test ifadesinde ise basit veya kompleks bir karşılaştırma
kullanabilrisiniz. Değer arttırma veya azaltma ise değişkeninizin o anki değerini
değiştirecek bir ifadedir. "for" döngüsünü örnek kullanımı:
ww
for (sayac=0;sayac<3;sayac++)
Bu örnekte, sayaç değişkenine ilk değer olarak sıfır verilmiş ve her döngüde bir
arttırılması istenmiş. Döngüden çıkma koşulu ise sayaç değişkeninin 3 ve daha yukarı
değerleri olarak belirlenmiş. Bu durumda sayaç değişkeni 0,1,2 değerleri için döngüye
girecektir. "for" döngüsünden sonra bir komut veya blok komutları gelebilir. "while"
döngüsünün yapısı şu şekildedir: while (test). Test ifadesi "for" döngüsündeki ile
eşdeğerdir. Örnek:
sayac=0;
while (sayac<3)
{
//komutlar
m
sayac++;
}
o
do
{
//komutlar
} while (test);
i.c
"do" döngüsünün "while" döngüsünden farkı en az bir kere döngüye girmesidir.
Tüm döngülerde "break" komutu döngüden çıkılmasını, "continue" komutu ise bir sonraki
değere geçmeyi sağlar.
Diziler
dil
Java'da diziler nesnedirler, C'deki gibi hafızada yer kaplayan pointer değillerdir. Java 'da
diziler, C 'ye göre daha güvenilirdir. Dizilerin elemanlarına gelişigüzel değerler
atayamazsınız. Java, dizi elemanlarını sırasıyla kontrol eder. Dolayısıyla arada değer
atanmamış bir elemana rastlanırsa hata oluşur. Bu da C'de çıkan hafıza bozulmalarını
önler. Java'da dizi kullanmak için ilk önce dizinin tipi verilir. Tip verilirken dizinin
büyüklüğü belirtilmez.
va
int numbers[]; // Integer diziler için
String myStrings[]; // String diziler için
İkisi de tanımlamada aynıdır. Her ikisi de kullanılabilir. Size hangisi daha kolay geliyorsa
onu kullanın. Java dizileri örneklerden de görüldüğü üzere tüm veri tipleri için
kullanılabilir. Sonraki adım ise dizinin "new" operatörü kullanılarak yaratılmasında, bu
adımda dizinin büyüklüğü de belirtilir.
w.
Bu adımdan sonra diziler yaratılmış oldu. Dizinin her bir elemanına varsayılan değer
atanır. Varsayılan değerler integer veri tipi için "0 (sıfır)", string veri tipi için "null"
ww
değeridir. Dizi elemanlarına bu adımdan sonra değer atamak çok kolaydır. C++ 'da
olduğu gibi Java 'da da dizilerin elemanları sıfırdan başlayan tamsayı değerleridir. Dizinin
ilk elemanına değer atamak için:
Java'da bir dizinin eleman sayısını (büyüklüğü) bulmak için "length" metodu kullanılır. Bu
metodun döndürdüğü değer "int" tipindedir.
int boyut=[Link] // boyut=5 olur
Java'da çok boyutlu diziler yoktur. Fakat bu tür diziler dizi içinde dizi oluşturularak simüle
edilebilir.
m
int k[][] = new int[5][4]; // 5-4 boyutunda bir dizi
k[1][3] = 999; // Değer atama
o
Ekrandan bilgi almak için BufferReader sınıfını kullanacağız. BufferReader giris=new
BufferReader( new InputStreamReader ([Link])); Bu sınıfın readLine() metodunu
kullanarak bilgiyi alıyoruz:
i.c
try {
String girilen=[Link]();
} catch (IOException e ) { [Link](e);}
try-catch bloğu olası bir hatayı yakalamak için kullanılıyor. Eğer bir hata oluşursa hatayı
ekrana yazacak. Şimdi de girileni yazdıralım. Ekran birşey yazdırmak için [Link]
dil
sınıfının println metodunu kullanacağız :
println metodu ekrana verilen parametredeki yazıyı yazdıktan sonra imleci bir alt satıra
geçirir. Şayet imlecin bir alt satıra geçmesini istemiyorsanız print metodunu kullanın.
Ama bu metodu kullandığınızda ekrana bilginin çıkması için akabinde flush metodunuda
va
kullanmalısınız. Şu şekilde :
[Link]("Ali ");
[Link]();
Java Sertifikası
ja
Bu güvenlik sınırlamalarına bakıldığı zaman normal bir applet sadece grafik veya yazı
gösterme, ses ve animasyon işlemlerini yapabilir. Büyük işler için normal appletler uygun
değildir ki küçük bir veri girişi dahi olamadan dişe dokunur uygulama yapmak mümkün
değildir.
Sertifikalı ve İşaretli Nedi?
Appletlerin web sayfalarını daha görsel hale getirmekten başka bir işe yaramadığı çabuk
anlaşıldı. Ama daha fazlasını; mesela kulanıcıdan bilgi almak ve yazmak; yapabilmek için
m
güvenlik sınırlamalarını kaldırmak gerekiyordu. Fakat bunun mümkün olduğu güvenli
olması için, appletler yeni browserlar için işaretlenebiliyor.
Bunun için applet geliştiricisinin amacını belirten sertifaya ihtiyacı vardır. Sertifa browser
okuyabileceği şekilde açıktır ve geliştiricinin adını ve kontrol kodu içerir. Bu sertifaka ile
o
geliştirici appleti güvenli olarak işaretler. Başka hiç kimse bu sertifikayı kullanarak bir
appleti işaretletyemez. Çünkü geliştirici appleti işaretlemek için sertifika ile birlikte verilen
özel kodu kullanır.
i.c
Kullanıcı, appleti çalıştırdığında ( applet olan bir web sayfasını çağırdığında ) browser
appletin işareti ile sertifikayı karşılaştırır. Böylece appletin işareti sertifaka ile uyumlu ise
çalıştırır. Bu şu anlama geliyor: Doğru işaretli bir appletin geliştiricisini kullanıcı applet
yüklenirken görür. Ama sadece applet yüklenirken.
dil
İşaretli bir applet yüklendiğinde kullanıcının karşısına bir pencere gelir. Bu pencerede
sertifika hakkında bilgiler vardır ve kullanıcı onayı istenir. Kullanıcı bu bilgiler ışığında
appletin çalışmasına izin verir veya vermez. Kullanıcının çalışmasını onaylamış bir applet
normal programların yapabildiği her şeyi yapabilir.
Bu Durumdaki Güvenlik
va
Buradaki problem onaylama işleminin ya hep ya hiç mantığında işlemesidir. Bunun anlamı
onayladığınız bir appletin gerçek amacının dışındaki verileride okuyabildiği veya
istenmeyen bir yere veri yazabildiğidir. Tam anlamıyla erişim haklarının belirlenmesi
programcılara ağır geldiği için çoğu programcı tarafından yapılmıyor. Yine de Microsoft ve
Netscape'in browserları için erişim haklarının değişik şekilde belirlenmesi karşısında
programcılar minimum düzeyde erişim hakkıyle yetiniyorlar.
ja
İkinci bir problem ise sertifikanın gerçekliğidir. Gerçek sertifikalar, programcı tarafından
değil, programcının güvenilirliğine kefil olan şirketler tarafından oluşturulmuş
sertifikalardır. Bu şirtketler para karşılığında sertifika oluşturmaktadır. Bir sertifika en az
$200 başlayıp sertifikaya göre artmaktadır. Programcı yıllık olarak $100 başlayan
fiyatlarıda ödemek zorundadır. Çoğu programcı için bu fiyatlar aşırı pahalı gelmektedir.
w.
En azından herkes bedava kendi sertifasını oluşturabilir. Fakat böyle bir sertifa,
programcının gerçekte kim olduğunu ve amacının doğruluğunu belirtmez. Hatta test
sertifikaları diye anılanlar istenen herhangi bir isim ile oluşturulabilir. Her ne kadar insanı
korkutsada, bilinmeyen bir shareware programı denemekten daha güvenlidir. Appleti
onaylamak veya onaylamamak bizim elimizde değil mi?
ww
Sertika Şirketleri
Her CA, vereceği sertifikaları kendi sertifikası altına tanımlar ki daha önceden güvenliğ
belirlenmiş kendi sertifikaları gibi işlem grösünler. CA'lar kendilerine ait sertifikaları daha
önceden browserlara tanımlanmış ve kurulmuştur. Maalesef bu şirketlerin verdikleri
hizmetin bedeli yüksek. Bir defaya mahsus ücret $200 dan başlıyor, yıllık ücretler ise
100$ dan. Şuana kadar işaretli appletlerın yaygınlaşmamasının en büyük nedeni bu olsa
gerek.
m
Test Setifikaları
o
gerekiyor. Sun'ın HotJava browserına hiç girmeyeceğim burda, belki ileride onuda ele
alırım.
i.c
Microsoft browser sertifikası oluşturmak için, Microsoft'un sitesinden bedava
indirebileceğiniz " Software Developer's Kit ( SDK) " e ihtiyacınız var. Bu yazılım kitinin
içindeki programların tek tek indirilememesi tabii ki çok kötü bir durum. Bu kitin içindeki
herhangi bir program için 20 MB büyüklüğündeki bu kiti indirmek zorunda kalıyorsunuz.
Ama bu kiti CD olarakta sipariş edebiliyorsunuz.
dil
Bu kit ile gelen ingilizce dökümantasyon tam olarak okunmalı, nitekim olmazsa olmaz
birçok önemli parametre mevcut. Burada bu kitin içindeki DOS programlarıyla sertifika
oluşturulmasını kısaca anlatmaya çalışacağım. Bu sadece başlangıç için yardım
niteliğindedir. Gerisini dökümana bırakıyorum.
makecert ile Private/Public Key oluşturun. Sertifika için gerekli olan .cer uzantılı bir
dosya oluşacaktır.
va
cerrt2spc ile sertifikayı oluşturun. Birinci adımda oluşturduğunuz .cer uzantılı dosyadan
.spc uzantılı bir dosya oluşturur.
cabarc ile class dosyalarınızı cab dosyası haline getirin. Bu cab dosyası Internet Explorer
tarafından indirilecek dosyadır.
ja
Netscape programcıların işini biraz daha kolaylaştırmış Microsoft'a göre, sertifika için
gerekli olan "Signtool" uğraşmadan indirebilecek ve Microsoft'un kitine göre daha kolay
kullanımı var. Signtool Win95 ve Unix sürümleri var. Kısaca adımlar:
JAVA PLUG-IN
Bundan birkaç yıl önce Sun, HotJava adlı web browserı piyasaya çıkardı. Sun'ın bu web
browserı, 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ı.
m
Sun, 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üyse, herhangi
bir uygulamaya ( örneğin browser ) gömülmüş java nesneleri çalışabiyor. Sorun,
browserların sadece kendi JVM lerine bakmaları ve makinada yüklü olan JRE 'ye ulaşmak
o
için bir mekanizmaya sahip olmamalarıydı. Sun olaya el attı : Java Plug-In
Sun'ın geliştirdiği Java Plug-In, JRE 'ye HTML sayfalarından browserı kullanarak ulaşmak
için bir mekanizma. Java Plug-In, Sun'ın web sitesinden bedavaya indirilebiliyor. Sayfaya
i.c
girildiğinde, istenen java sürümü kullanıcının makinasında yüklü değilse, kullanıcı Java
Plug-In sayfasına yönlendirilir. Java Plug-In, Netscape'de plug-in olarak, IE 'de ise
ActiveX Control olarak otomatik yüklenir.
Java Plug-In, Netscape'de EMBED, IE 'de ise OBJECT tagı sayesinde kullanılabilir. MIME
MIME Tipi
dil
tipi ile istenen java sürümünü belirtmelisiniz. Örneğin Java 1.2 sürümünün özelliklerini
kullanan bir appletiniz varsa, MIME tipinde bunu belirterek appletinizin doğru çalışmasını
sağlarsınız.
HTML sayfasına appletinizi geleneksel yöntemlerle koymak isterseniz, yani Java Plug-In
kullanmak istemiyorsanız APPLET tagını kullanmanız gerekir. Java Plug-In kullanmak
istiyorsanız;
<HTML>
ww
<BODY>
<NOEMBED>
Applet Desteklenmiyor
</NOEMBED>
</EMBED>
</BODY>
</HTML>
m
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 direkt, örnekte görüldüğü gibi
( parametre1="2") direkt yazmalısını[Link], CODEBASE,WIDTH,HEIGHT gibi alt taglar
o
APPLET tagında olduğu gibi kullanılır.
i.c
<HTML>
<BODY>
<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
width="200" height="200" codebase="[Link]
1.1/[Link]#Version=1,1,0,0">
<PARAM NAME="code" VALUE="[Link]">
dil
<PARAM NAME="codebase" VALUE="/appletler/">
<PARAM NAME="type" VALUE="application/x-java-applet;version=1.1">
<PARAM NAME="parametre1" VALUE="2">
Applet desteklenmiyor
</OBJECT>
va
</BODY>
</HTML>
Burada CODEBASE alt tagı gömülü nesnenin gerektirdiği ActiveX Controlünün yeridir.
Java'ya ait codebase, type, code gibi taglar PARAM alt tagı ile belirtilir.
ja
Netscape ve IE için farklı yöntemlerin kullanılması, 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ü
Sun, 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.
w.
Appletler, dinamik web tabanlı içerik için en ideal programcıklardır. Teorikte bir kere yaz,
her bilgisayarda, her browserda ve her işletim sisteminde çalıştır; mantığını ileri süren
Sun bunu "Bir kere yaz, her yerde çalıştır ( Run Once, Run Anywhere ) " sloganıyla lanse
ww
ediyor.
Pratikte, 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ışıyor, ç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 browserlar, browser
sürümlerinin farklılıkları, 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 ise, java applet ihtiva eden bir sayfayı
m
ç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ğilde, gri bir dikdörtgenden başka bir şey
göremiyorsanız bunun bir kaç sebebi olabilir.
o
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 biliyoruz, daha doğrusu bilinen çoğu
i.c
hatayı desek daha iyi olur. Oluşan hatalar bilinmedik, 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 :
Bilindiği gibi applet dediğimiz programcıklar, derlendikten sonra class dosyası halini
dil
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çin, ki hata daha applet yüklenirken
oluştuğu için, applet kodu içinden bu hatayı yakalamanız ve engellemeniz mümkün
değildir. Bu hata çoğu durumda, <applet> tagı içinde class dosyasının bulunduğu yeri
yanlış olarak belirtildiği zaman ortaya çıkıyor.
va
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 Socket, DatagramSocket istekleri çalışmaz.
Eğer ağ kaynaklarına erişim gerektiren bir applet yazıyorsanız, iletişim için TCP/UDP
protokülü yerine HTTP protokülünü kullanın. Çünkü firewall arkasında olan kullanıcı sayısı
ja
gün geçtikçe artıyor. Karşılaşılan diğer bir hata sebebi ise, browserların appletler ile ilgili
kısıtlamalarından kaynaklanıyor.
Null Hataları
Ö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 ile, web sayfalarında önümüze çıkan gri dikdörgen kutucukları azaltabiliriz.