adanzye java wwwjavadilicom
TRANSCRIPT
-
8/14/2019 AdanZye Java WwwJavaDiliCom
1/13
A'dan Z'ye Java
Java sayesinde; animasyonlar, kayan yazlar, web sayfalarnda chat, hesap makinesi,oyunlar, ifreleme programlar, interaktif web sayfalar, mzik, kelime ilemci, kkinternet appletleri, kocaman paket programlar, resim ileme programlar, tercme
programlar, sipari sistemleri, saatler, yazm kontrol programlar yaplabilir.
HTML'de Java
Bir applet hazrladnzda, bunu bir HTML dkmanna yerletirmelisiniz. HTML 3.2 ilebirlikte, Java appletlerin kullanlmasn salayan iki yeni eleman kt. Bunlar APPLET ve
PARAM. Dier HTML elemanlar gibi bu iki elemann da birok zellikleri mevcuttur. Fakatideali, sadece gerekli olan zelliklerin kullanlmasdr.
APPLET Elemannn kullanlmas
APPLET eleman, HTML dkmanna yerletirdiiniz appletin tanmlanmasn vezelliklerinin tanmlanmasn salar. Her HTML eleman gibi, APPLET elemannn da bir
balang tag ve biti tag vardr.
APPLET eleman iin gerekli olan zellikler: CODE, WIDTH ve HEIGHT'tir. CODE zelliikullanlacak appleti, WIDTH zellii appletin geniliini (pixel), HEIGHT zellii ise
appletin yksekliini (pixel) belirlemenizi salar. Aada gerekli olan zellikleri ile birappletin HTML dkmanna balanm eklini gryorsunuz.
Maximum Bilgi
Yukardaki rnekte HTML dkman ve "maximumbilgi.class" adl java appleti ayn dizindebulunmaldrlar. ayet java appletifarkl bir dizinde ise, opsiyonel CODEBASE zelliini
kullanmanz gerekir.
CODEBASE zellii, appletin bulunduu URLyi belirtmenizi salar. Aadaki rnek,yukardaki rnein hemen hemen aynsdr. Tek fark, java appleti baka bir dizinde
bulunduu varsaylarak CODEBASE zellii kullanlmtr.
Maximum Bilgi
-
8/14/2019 AdanZye Java WwwJavaDiliCom
2/13
Dier opsiyonel zellikleri yle sralayabiliriz:
Appletin konumunu belirlemizi salar. Alabilecei deerler ABSBOTTOM, ABSMIDDLE,BASELINE, BOTTOM, CENTER, LEFT, MIDDLE, RIGHT, TEXTTOP, TOP'tr.
ALIGN
Appletin altnda ve stnde ne kadar boluk brakabileceinizi belirleyebilirsiniz.HSPACEe vereceiniz deer, pixel olarak ilenir. rnek: HSPACE=10
HSPACE
Appletin sanda ve solunda ne kadar boluk brakabileceinizi belirleyebilirsiniz.VSPACEe vereceiniz deer pixel olarak ilenir. rnek: VSPACE=20
VSPACE
Appletleri gsteremeyen browserlarda, appletin yerine alternatif bir yaz kmasnsalayabilirsiniz.
ALT
Applete bir isim vermenizi salar.
NAME
PARAM Elemannn kullanlmas
PARAM eleman ile applete parametre gnderebilirsiniz. PARAM elemannn sadecebalang tag vardr: . Applete gndermek istediiniz her parametre iin bir tag kullanmalsnz. PARAM taglarn balang tag ile biti tag
arasna yerletirmelisiniz.
Appletler, tagnda belirtilen parametrelere "getparameter()" metodu ileularlar. tagnn gerekli iki zellii vardr. NAME ve VALUE. NAME zellii ile
parametrenin ad belirtilir ki "getparameter" metodu ile bu isme gre aranr. VALUEzellii ise parametrenin deerini verir. Aada, applette kullanlacak resmi, parametre
ile girilen bir HTML dkman rnei verilmitir.
Maximum Bilgi
Java appletinde, resim parametresinin deeri; Resim_logo=getparameter("Resim")komutu ile okunur.
-
8/14/2019 AdanZye Java WwwJavaDiliCom
3/13
Veri Tipleri
Java'da her ey bir nesnedir. Tek istisna veri tipleridir. Java veri tipleri, btnplatformlarda standart bykle sahiptir. Bu standart Java'nn tanabilirliini salyor.
Aada Java'da bulunan veri tipleri ve byklkleri listelenmitir.
Veri tipi Byklk
byte 8-bit
short 16-bit
int 32-bit
long 64-bit
float 32-bit kayan nokta
double 64-bit kayan nokta
char 16-bit Unicode
Eer C/C++ programcs iseniz "unsigned" tipinin olmad dikkatinizi ekmitir. Byte tipiise C/C++'daki "char" tipinin yerini almtr. Java'daki char tipi 16 bittir. nk Java
karakter verisinde Unicode karakter setini temel alr.
Unicode, uluslararas karakterleri destekleyen bir standarttr. Programlarnzn deiikplatformlarda ve lkelerde altrlacandaUnicode ok uygundur. Yukardaki tabloda
olmayan dier bir veri tipi ise boolean'dr. Bir boolean, deiken numerik deereevrilemez ve sadece iki deer alabilir. Bu deerler "true" ve "false" tur.
Literaller
Literaller, deikenlere deer atamak iin kullanlr. Integer'lara C/C++ benzer biimdedeer atanr. 25 gibi tamsay atayabilirsiniz. Hexadecimal bir tamsay atamak iin, saynn
nne "0x" ifadesi koymanz gerekir. rnein, 15 saysn hexadecimal olarak 0xFeklinde atamalsnz. 8'lik tabanda bir say atamak iin "0" ifadesini, saynn nne
koymalsnz.
Kayan noktal saylar ise direkt 5.2345 eklinde atayabilirsiniz. Bunlar 32 bit float veya64 bit double olarak saklanabilirler. Belirtmezseniz, varsaylan 64 bit double'dr. Belirtmek
iin yapacanz tek ey, saynn arkasna float iin F, double iin D koymaktr. rnein5.323 F veya 5.323 D.
Karakterler, tek trnak iinde atanrlar. rnein 'a'gibi. Escape karakterleri iin slash (\)kullanlr. Bunlar da trnak iinde belirtilir. \t=tab, \n=satr atlama gibi. Stringler iin ifttrnak kullanlr. "Maximum Bilgi" gibi. Satr atlamas yapmak istiyorsanz "Maximum Bilgi
\n" kullanmalsnz.
Deikenler
Java'da 3 tip deiken vardr: instance, class ve local. Lokal deikenler, metodlarn vebloklarn iinde tanmlanabilirler. Blok, "{" ile balayan ve "}" ile biten ifadeler
topluluudur. Blok iinde tanmlanan lokal deikenler, blok sonuna kadar geerlidir.Genel format eklindedir. rnein double tipinde pi adl deikeni
tanmlayalm: double pi; bir deer de atayabilirdik: double pi=3.1415.
-
8/14/2019 AdanZye Java WwwJavaDiliCom
4/13
Deikenler; harf, say, dolar iareti, alt izgi ilebalayp bu karakterlerle devam edebilir.Ama komutlar, operatrler deiken ismi olarak kullanlamazlar.
Aklamalar
Programlarnza aklama koymak iin, Java'da kullanabileceiniz iki stil vardr. Birincisiift slash ( // ). ift slash'tan satr sonuna kadar olan ksmda bulunan her ey aklama
olarak kabul edilir.
kincisi ise slash ve yldz ( /*) ile balar yldz ve slash ile biter. Bunlar arasndaki herey, aklama olarak kabul edilir. rnek 1: double pi; // pi deikeni double olarak
tanmland. rnek 1: /* Bu programn amac saysal loto tahmini yapmaktr.
Operatrler
Java'da bulunan operatrler aadaki tabloda verilmitir.
Kategori Operatr
Aritmetik + - * / %
likisel < > >= >>> ~ &= |= ^=
Artrma ++
Azaltma --
Aada iki deiken tanmlanp, bunlara deer atanyor. Daha sonra ise bu iki deikeninierii toplanyor:
int x,y ;x= 3 ;y=4 ;
int z=x+y ;
Z 'nin deeri yedidir. Operatrlerin ncelik sras aadaki tabloda gsterilmitir.
[] ()
++ - ! ~* / %
+ -
> >>>
< > =
== !=
& ^
|
&&
||
-
8/14/2019 AdanZye Java WwwJavaDiliCom
5/13
= ve dierleri
Bit ilemleri
Ayrlm Kelimeler
Aadaki tabloda, Java'nn komutlar olarak kullanlan kelimeler listelenmitir. Bukelimeler, Java iin ayrlmtr. Yani bu kelimeleri deiken ismi gibi eyler iin
kullanamazsnz. Bunlar snf tanmlamas, deiken tipi belirleme, koul, dng gibiilemler iin kullanlr.
Abstract boolean
break byte
byvalue case
catch char
class const
continue default
do double
else extends
false final
finally float
for goto
if implements
import instanceofint interface
long native
new null
package private
protected public
return short
static super
switch synchronized
this threadsafe
throw transient
true try
void while
Karlatrmalar
Karlatrmalar, genelde bir karlatrmann sonucuna gre belirtilen komut veyakomutlar altrrlar. Eer birden fazla komut kullanlacak ise blok iinde olmaldr. Tek
bir komut iin buna gerek yoktur. rnein; a deikenin deerinin bir olup olmadnkontrol ediyoruz. Eer a=1 ise a=2, deil ise a=1.
-
8/14/2019 AdanZye Java WwwJavaDiliCom
6/13
Grld zere karlatrma, boolean bir deer dndrmelidir. Yani true (doru) veyafalse (yanl) deerini dndrmelidir ki bu deere gre ilenecek komutlar belirlenebilsin.
Java'da karlatrma yapmak iin "if...else..." kullanlr. Format u ekildedir:
if (karlatrma){ karlatrmann sonucu
doru ise ilencek komutlar}
else{ karlatrmann sonucu
yanl ise ilencek komutlar}
Yukardaki rnei java formatnda yazarsak :
if (a==1) // Java'da = operatr atama iin kullanlr.// Karlatrma iin == operatrn kullanlr.
a=2;else
a=1; // Tek komut olduu iin blok iine alnmasna gerekyoktur.
Eer birok karlatrma varsa, i ie karlatrmalar (if ) kullanlabilir. Sonucu nmerikolan karlatrmalar iin "switch...case..." komutu kullanlr. Bu komut, sadece nmerik
deerler iin kullanlr. Format u ekildedir:
switch (deiken){
case 1: // deikenin deeri 1 isebreak;
case 2:{// deikenin deeri 2 ise
break;}
default: // yukardaki deerler haricindeki deer isebreak;
}
Dngler
Java 'da tane dng ilemi vardr. "for" dngsnn yaps aadaki ekildedir. for (ilkdeer; test; deer artrma/azaltma) Bu yapda grlen ilk deer ifadesi, deikeninizin
alaca ilk deerdir. Test ifadesinde ise basit veya kompleks bir karlatrmakullanabilrisiniz. Deer arttrma veya azaltma ise deikeninizin o anki deerini
deitirecek bir ifadedir. "for" dngsn rnek kullanm:
for (sayac=0;sayac
-
8/14/2019 AdanZye Java WwwJavaDiliCom
7/13
sayac=0;while (sayac
-
8/14/2019 AdanZye Java WwwJavaDiliCom
8/13
int boyut=numbers.length / / boyut=5 olur
Java'da ok boyutlu diziler yoktur. Fakat bu tr diziler dizi iinde dizi oluturularak simleedilebilir.
int k[][] = new int[5][4]; / / 5-4 boyutunda bir dizi
k[1][3] = 999; // Deer atama
Bilgi Alma ve Yazdrma
Ekrandan bilgi almak iin BufferReader snfn kullanacaz. BufferReader giris=newBufferReader( new InputStreamReader (System.in)); Bu snfn readLine() metodunu
kullanarak bilgiyi alyoruz:
try {String girilen=giris.readLine();
} catch (IOException e ) { System.out.prinln(e);}
try-catch blou olas bir hatay yakalamak iin kullanlyor. Eer bir hata oluursa hatayekrana yazacak. imdi de girileni yazdralm. Ekran birey yazdrmak iin System.out
snfnn println metodunu kullanacaz :
System.out.println ("Girdiiniz ey : " + girilen );
println metodu ekrana verilen parametredeki yazy yazdktan sonra imleci bir alt satrageirir. ayet imlecin bir alt satra gemesini istemiyorsanz print metodunu kullann.
Ama bu metodu kullandnzda ekrana bilginin kmas iin akabinde flush metodunudakullanmalsnz. u ekilde :
System.out.print("A li " );System.out.flush();
Java Sertifikas
Java internet ortamna girdiinde, javay destekleyen browserlardaki buglar yzndenou kullanc java zelliini kapatmak durumunda kalmt. Gnmzde javann
gvenlii artm durumda. Bunda browserlarn buglarnn azalmasnn rol olduu gibisertifika kavramnnda byk rol vardr.
Sertikasz/aretsiz Appletler Neler Yapabilir?
Kullanclarn bilgisayarnda istenmeyen ilemlerin yaplmasn engellemek iin, herbrowsern gvenlik snrlamalar vardr. Bu gvenlik snrlamasnn tr browsera gredeiir. Gnmzdeki browserlarn java appletlerin iin aadaki gvenlik snrlamalar
vardr:
- Appletler kullancnn bilgisayarndan veri okumaz ve yazamazlar.- Kullancnn bilgisayarnda program altramazlar.
- A balants sadece appletin bulunduu server ile kurulabilir.- Sistem ayarlarn deitiremezler.
Bu gvenlik snrlamalarna bakld zaman normal bir applet sadece grafik veya yazgsterme, ses ve animasyon ilemlerini yapabilir. Byk iler iin normal appletler uygundeildir ki kk bir veri girii dahi olamadan die dokunur uygulama yapmak mmkn
deildir.
-
8/14/2019 AdanZye Java WwwJavaDiliCom
9/13
Sertifikal ve aretli Nedi?
Appletlerin web sayfalarn daha grsel hale getirmekten baka bir ie yaramad abukanlald. Ama daha fazlasn; mesela kulancdan bilgi almak ve yazmak; yapabilmek iin
gvenlik snrlamalarn kaldrmak gerekiyordu. Fakat bunun mmkn olduu gvenliolmas iin, appletler yeni browserlar iin iaretlenebiliyor.
Bunun iin applet gelitiricisinin amacn belirten sertifaya ihtiyac vardr. Sertifa browserokuyabilecei ekilde aktr ve gelitiricinin adn ve kontrol kodu ierir. Bu sertifaka ilegelitirici appleti gvenli olarak iaretler. Baka hi kimse bu sertifikay kullanarak bir
appleti iaretletyemez. nk gelitirici appleti iaretlemek iin sertifika ile birlikte verilenzel kodu kullanr.
Kullanc, appleti altrdnda ( applet olan bir web sayfasn ardnda ) browserappletin iareti ile sertifikay karlatrr. Bylece appletin iareti sertifaka ile uyumlu isealtrr. Bu u anlama geliyor: Doru iaretli bir appletin gelitiricisini kullanc applet
yklenirken grr. Ama sadece applet yklenirken.
aretli Appletler Neler Yapabilir?
aretli bir applet yklendiinde kullancnn karsna bir pencere gelir. Bu penceredesertifika hakknda bilgiler vardr ve kullanc onay istenir. Kullanc bu bilgiler nda
appletin almasna izin verir veya vermez. Kullancnn almasn onaylam bir appletnormal programlarn yapabildii her eyi yapabilir.
Bu Durumdaki Gvenlik
Buradaki problem onaylama ileminin ya hep ya hi mantnda ilemesidir. Bunun anlamonayladnz bir appletin gerek amacnn dndaki verileride okuyabildii veya
istenmeyen bir yere veri yazabildiidir. Tam anlamyla eriim haklarnn belirlenmesiprogramclara ar geldii iin ou programc tarafndan yaplmyor. Yine de Microsoft veNetscape'in browserlar iin eriim haklarnn deiik ekilde belirlenmesi karsnda
programclar minimum dzeyde eriim hakkyle yetiniyorlar.
kinci bir problem ise sertifikann gerekliidir. Gerek sertifikalar, programc tarafndandeil, programcnn gvenilirliine kefil olan irketler tarafndan oluturulmu
sertifikalardr. Bu irtketler para karlnda sertifika oluturmaktadr. Bir sertifika en az$200 balayp sertifikaya gre artmaktadr. Programc yllk olarak $100 balayan
fiyatlarda demek zorundadr. ou programc iin bu fiyatlar ar pahal gelmektedir.
En azndan herkes bedava kendi sertifasn oluturabilir. Fakat byle bir sertifa,
programcnn gerekte kim olduunu ve amacnn doruluunu belirtmez. Hatta testsertifikalar diye anlanlar istenen herhangi bir isim ile oluturulabilir. Her ne kadar insankorkutsada, bilinmeyen bir shareware program denemekten daha gvenlidir. Appleti
onaylamak veya onaylamamak bizim elimizde deil mi?
Sertika irketleri
Gerek sertifakalar sertifa irketleri ( Certificate Authority ksa CA ) tarafndan veriliyor.Bu irketler programncnn yada irketlerin amacn kontrol ettikten sonra sertifika
veriyorlar. En tannm sertifika irketleri VeriSign, Thawte ve BelSign
Her CA, verecei sertifikalar kendi sertifikas altna tanmlar ki daha nceden gvenli
belirlenmi kendi sertifikalar gibi ilem grsnler. CA'lar kendilerineait sertifikalar dahanceden browserlara tanmlanm ve kurulmutur. Maalesef bu irketlerin verdikleri
.
-
8/14/2019 AdanZye Java WwwJavaDiliCom
10/13
hizmetin bedeli yksek. Bir defaya mahsus cret $200 dan balyor, yllk cretler ise100$ dan. uana kadar iaretli appletlern yaygnlamamasnn en byk nedeni bu olsa
gerek.
Test Setifikalar
Test sertifikas herkes tarafndan be kuru denmeden oluturulabilen sertifikalardr.Ama programcnn amacn gerek olarak ispatlamayan sertifikalar bunlar. Bu
sertifikalarda browsera gre deiiyor. BirNetscape ve birde Microsoft iin oluturmakgerekiyor. Sun'n HotJava browserna hi girmeyeceim burda, belki ileride onuda ele
alrm.
Microsoft Browser in Test Sertifakas
Microsoft browser sertifikas oluturmak iin, Microsoft'un sitesinden bedavaindirebileceiniz " Software Developer's Kit ( SDK)
Bu kit ile gelen ingilizce dkmantasyon tam olarak okunmal, nitekim olmazsa olmazbirok nemli parametre mevcut. Burada bu kitin iindeki DOS programlaryla sertifika
oluturulmasn ksaca anlatmaya alacam. Bu sadece balang iin yardmniteliindedir. Gerisini dkmana brakyorum.
" e ihtiyacnz var. Bu yazlm kitininiindeki programlarn tek tek indirilememesi tabii ki ok kt bir durum. Bu kitin iindekiherhangi bir program iin 20 MB byklndeki bu kiti indirmek zorunda kalyorsunuz.
Ama bu kiti CD olarakta sipari edebiliyorsunuz.
makece r t ile Private/Public Key oluturun. Sertifika iin gerekli olan .cer uzantl birdosya oluacaktr.
ce r r t2spc ile sertifikay oluturun. Birinci admda oluturduunuz .cer uzantl dosyadan
.spc uzantl bir dosya oluturur.
cabarc ile class dosyalarnz cab dosyas haline getirin. Bu cab dosyas Internet Explorertarafndan indirilecek dosyadr.
Oluturduunuz cab dosyasn s igncode ile iaretleyin. Bu ilem srasndaoluturduunuz .spc uzantl dosyada kullanlacaktr.
Netscape Browser in Test Sertifakas
Netscape programclarn iini biraz daha kolaylatrm Microsoft'a gre, sertifika iingerekli olan "Signtool" uramadan indirebilecek ve Microsoft'un kitine gre daha kolay
kullanm var. Signtool Win95 ve Unix srmleri var. Ksaca admlar:
signtool ile Private ve Public Key oluturmak iin -G parametresini kullann. Bu ilem ile x509.cacert adl bir dosya oluacaktr. signtool ile class dosyalarnz jar dosyas haline getirin.
Bu ilemleri batch dosyas ile de yapabilirsiniz.
JAVA P LUG-IN
Bundan birka yl nce Sun, HotJava adl web browser piyasaya kard. Sun'n bu webbrowser, Java'y destekliyordu. Buda iine java nesneleri gmlebilen uygulamalarn ilk
rneini tekil ediyordu. Bunun ardndan Netscape kendi web browsernada Javadesteini ekledi. Ardndan da MS.
-
8/14/2019 AdanZye Java WwwJavaDiliCom
11/13
Gn getikce Java'nn yeni srmleri kt. Bununla birlikte Netscape ve MS kendiihtiyalarna uygun snf ktphanelerini eklediler browserlarna. Bylece her browsernkendine zel JVM ( Java Virtual Machine ) 'i oldu. Dolaysyla browserlarn iine gmlen
JVM ile browserdan bamsz olarak JVM 'i gncellemek imkanszd.
Sun, herhangi bir ortamda Java'nn alabilmesiiin gerekli olan her eyi ieren ( Java
VM ve snf ktphaneleri ) JRE 'yi kard. Eer JRE bilgisayarnzda yklyse, herhangibir uygulamaya ( rnein browser ) gmlm java nesneleri alabiyor. Sorun,
browserlarn sadece kendi JVM lerine bakmalar ve makinada ykl olan JRE 'ye ulamakiin bir mekanizmaya sahip olmamalaryd. Sun olaya el att : Java Plug-In
Sun'n gelitirdii Java Plug-In, JRE 'ye HTML sayfalarndan browser kullanarak ulamakiin bir mekanizma. Java Plug-In, Sun'n web sitesindenbedavaya indirilebiliyor. Sayfayagirildiinde, istenen java srm kullancnn makinasnda ykl deilse, kullanc Java
Plug-In sayfasna ynlendirilir. Java Plug-In, Netscape'de plug-in olarak, IE 'de iseActiveX Control olarak otomatik yklenir.
Java Plug-In Kullanmak
Java Plug-In, Netscape'de EMBED, IE 'de ise OBJECT tag sayesinde kullanlabilir. MIMEtipi ile istenen java srmn belirtmelisiniz. rnein Java 1.2 srmnn zelliklerini
kullanan bir appletiniz varsa, MIME tipinde bunu belirterek appletinizin doru almasnsalarsnz.
MIME Tipi Nesne Tipi / Srm
application/x-java-applet;Applet / Mevcut
srm
application/x-java-
applet;version=1.1Applet / Java 1.1
application/x-java-
applet;version=1.2Applet / Java 1.2
application/x-java-bean; Bean / Mevcut srm
application/x-java-bean;version=1.1 Bean / Java 1.1
HTML sayfasna appletinizi geleneksel yntemlerle koymak isterseniz, yani Java Plug-Inkullanmak istemiyorsanz APPLET tagn kullanmanz gerekir. Java Plug-In kullanmak
istiyorsanz;
Netscape iin EMBED tagn kullanmalsnz :
Applet Desteklenmiyor
http://if%28confirm%28%27http//java.sun.com/products/plugin/1.1/index.html%20%20/n/nThis%20file%20was%20not%20retrieved%20by%20Teleport%20Pro,%20because%20it%20is%20addressed%20on%20a%20domain%20or%20path%20outside%20the%20boundaries%20set%20forhttp://if%28confirm%28%27http//java.sun.com/products/plugin/1.1/index.html%20%20/n/nThis%20file%20was%20not%20retrieved%20by%20Teleport%20Pro,%20because%20it%20is%20addressed%20on%20a%20domain%20or%20path%20outside%20the%20boundaries%20set%20forhttp://if%28confirm%28%27http//java.sun.com/products/plugin/1.1/index.html%20%20/n/nThis%20file%20was%20not%20retrieved%20by%20Teleport%20Pro,%20because%20it%20is%20addressed%20on%20a%20domain%20or%20path%20outside%20the%20boundaries%20set%20forhttp://if%28confirm%28%27http//java.sun.com/products/plugin/1.1/index.html%20%20/n/nThis%20file%20was%20not%20retrieved%20by%20Teleport%20Pro,%20because%20it%20is%20addressed%20on%20a%20domain%20or%20path%20outside%20the%20boundaries%20set%20for -
8/14/2019 AdanZye Java WwwJavaDiliCom
12/13
PLUGINSPAGE ve TYPE alt tagn kullanmanz gerektiini unutmaynz. nk browserJava Plug-In ykleme sayfasn ve srm bilmesi gerekir. APPLET tagnda kullanlan
PARAM alt tagn bu durumda kullanmazsnz. Parametreleri direkt, rnekte grld gibi( parametre1="2") direkt yazmalsnz.CODE, CODEBASE,WIDTH,HEIGHT gibi alt taglar
APPLET tagnda olduu gibi kullanlr.
Internet Explorer iin OBJECT tagn kullanmalsnz :
Applet desteklenmiyor
Burada CODEBASE alt tag gml nesnenin gerektirdii ActiveX Controlnn yeridir.Java'ya ait codebase, type, code gibi taglar PARAM alt tag ile belirtilir.
Netscape ve IE iin farkl yntemlerin kullanlmas, her biri iin ayr web sayfalarmzolaca anlamna gelmiyor. HTML kodu kullanarak her ikisi iinde geerli bir sayfa
hazrlayabilirsiniz. Fakat byle bir HTML kodu yazmak iin kendinizi kasmayn. nkSun, Java Plug-In ile beraber HTML eviricisi ( HTML Converter ) sunuyor. Bu evirici
sayesinde HTML sayfasnda kullanlan APPLET taglar her iki browserda da kullanlabilecekekilde evriliyor.
Applet Neden almyor?
Appletler, dinamik web tabanl ierik iin en ideal programcklardr. Teorikte bir kere yaz,her bilgisayarda, her browserda ve her iletim sisteminde altr; mantn ileri sren
Sun bunu "Bir kere yaz, her yerde altr ( Run Once, Run Anywhere ) " sloganyla lanseediyor.
Pratikte, birok java programcs ve birok kullanc Java appletlerinin baarsna sebepolduunu sylyorlar. "Neden applet almyor ?" ierikli birok mail geliyor.
Applet alt zaman tam alyor, almad zaman ise byk bir sorun halini alyor.Hatay bulmak ve hatay dzeltmek gerekten baarsna neden olabiliyor. Hatta Java ile
program gelitirmeyi bu yzden brakanlar bile var. Deiik browserlar, browsersrmlerinin farkllklar, hatta browser konfigrasyonlarndaki farkllklar appletlerin
-
8/14/2019 AdanZye Java WwwJavaDiliCom
13/13
almasnda rol oynayabiliyor. Browserlara gml Java Sanal Makinasndaki ( JavaVirtual Machine ) buglar ve bilgisayarn performansda etkili oluyor.
ayet browser'nz hibir appleti altramyor ise, java applet ihtiva eden bir sayfayardnzda taklp kalyorsa browser yazlmn tekrar kurmak ou zaman problemi
ortadan kaldryor. Bu sz konusu deilde, gri bir dikdrtgenden baka bir ey
gremiyorsanz bunun bir ka sebebi olabilir.
Neden Gri Dikdrtgen?
Appletin yklenmesi srasnda veya yklendikten sonra altrlmas srasnda meydanagelen hatalardan dolay oluur. Java programlama dilinde bunun teknik ad "Exception"
dr. Java'da hatalar yakalama imkan olduunu biliyoruz, daha dorusu bilinen ouhatay desek daha iyi olur. Oluan hatalar bilinmedik, beklenmedik hata veya appletdenkaynaklanmayan hatalar olabildii iin bu hatalar yakalama imkan yok. imdi en ok
karlalan ve bilinen hatalar inceleyelim :
Bilindii gibi applet dediimiz programcklar, derlendikten sonra class dosyas halinialyorlar. Appletlerin almas iin bu class dosyalarnn yklenmesi gerekiyor. ayetclass dosyasnn yeri bulunamaz veya dosya yklenirken hata oluur ise gri kutunun
iinde class dosyasn bulunamadna dair veya yklenirken hata olutuuna dair bir hatamesaj kar ve applet almaz. Applet almad iin, ki hata daha applet yklenirken
olutuu iin, applet kodu iinden bu hatay yakalamanz ve engellemeniz mmkndeildir. Bu hata ou durumda, tag iinde class dosyasnn bulunduu yeri
yanl olarak belirtildii zamanortaya kyor.
Class dosyasna ulaamama veya ykleyememe
Baz zamanlara zerinde bulunana server ger veya herhangi bir sebepten balantkurulamaz. Kullanc firewall arkasndadr ve Socket, DatagramSocket istekleri almaz.
Eer a kaynaklarna eriim gerektiren bir applet yazyorsanz, iletiim iin TCP/UDPprotokl yerine HTTP protokln kullann. nk firewall arkasnda olan kullanc saysgn getike artyor. Karlalan dier bir hata sebebi ise, browserlarn appletler ile ilgili
kstlamalarndan kaynaklanyor.
A kaynaklarna eriememe
Appletviewer'da sorunsuz alan applet, browserda almyor. Applet sadece bulunduuserver ile balant kurabilir. Birok applet ise domain isimlerini IP adresine evirirken hata
oluturuyorlar. Bunu nlemek iin domain ismi yerine IP adresi kullann.
ok karlalan hatalardan biriside NULL hatalardr. Bu appletin kodundan kaynaklananve appletin almamasn salayan bir hatadr. Bir deikene bir nesne atarken, nesnenin
deerinin Null ( deersiz ) olmamasna dikkat edin. Aadaki rnei inceleyin:
Null Hatalar
rnek:String sayac = getParameter (" sayac"); / / sayac parametresini al
if ( sayac == null ) // Eer sayac null isesayac = "1"; // sayac deerini "1" yap.
Biraz dikkat ile, web sayfalarnda nmze kan gri dikdrgen kutucuklar azaltabiliriz.