You are on page 1of 14

A'dan Z'ye Java

Java sayesinde; animasyonlar, kayan yazlar, web sayfalarnda chat, hesap makinesi, oyunlar, ifreleme programlar, interaktif web sayfalar, mzik, kelime ilemci, kk internet 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 ile birlikte, Java appletlerin kullanlmasn salayan iki yeni eleman kt. Bunlar APPLET ve PARAM. Dier HTML elemanlar gibi bu iki elemann da birok zellikleri mevcuttur. Fakat ideali, sadece gerekli olan zelliklerin kullanlmasdr. APPLET Elemannn kullanlmas APPLET eleman, HTML dkmanna yerletirdiiniz appletin tanmlanmasn ve zelliklerinin tanmlanmasn salar. Her HTML eleman gibi, APPLET elemannn da bir balang tag <APPLET> ve biti tag </APPLET> vardr. APPLET eleman iin gerekli olan zellikler: CODE, WIDTH ve HEIGHT'tir. CODE zellii kullanlacak appleti, WIDTH zellii appletin geniliini (pixel), HEIGHT zellii ise appletin yksekliini (pixel) belirlemenizi salar. Aada gerekli olan zellikleri ile bir appletin HTML dkmanna balanm eklini gryorsunuz. <HTML> <HEAD> <TITLE> Maximum Bilgi </TITLE> </HEAD> <BODY> <APPLET CODE="maximumbilgi.class" WIDTH=300 HEIGHT=100> </APPLET> </BODY> </HTML> Yukardaki rnekte HTML dkman ve "maximumbilgi.class" adl java appleti ayn dizinde bulunmaldrlar. ayet java appleti farkl 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. <HTML> <HEAD> <TITLE> Maximum Bilgi </TITLE> </HEAD> <BODY> <APPLET CODE="maximumbilgi.class" CODEBASE=""http://www.maximumbilgi.com/java/classlar/"" WIDTH=300 HEIGHT=100> </APPLET>

</BODY> </HTML> Dier opsiyonel zellikleri yle sralayabiliriz: ALIGN Appletin konumunu belirlemizi salar. Alabilecei deerler ABSBOTTOM, ABSMIDDLE, BASELINE, BOTTOM, CENTER, LEFT, MIDDLE, RIGHT, TEXTTOP, TOP'tr. HSPACE Appletin altnda ve stnde ne kadar boluk brakabileceinizi belirleyebilirsiniz. HSPACEe vereceiniz deer, pixel olarak ilenir. rnek: HSPACE=10 VSPACE Appletin sanda ve solunda ne kadar boluk brakabileceinizi belirleyebilirsiniz. VSPACEe vereceiniz deer pixel olarak ilenir. rnek: VSPACE=20 ALT Appletleri gsteremeyen browserlarda, appletin yerine alternatif bir yaz kmasn salayabilirsiniz. NAME Applete bir isim vermenizi salar. PARAM Elemannn kullanlmas PARAM eleman ile applete parametre gnderebilirsiniz. PARAM elemannn sadece balang tag vardr: <PARAM>. Applete gndermek istediiniz her parametre iin bir <PARAM> tag kullanmalsnz. PARAM taglarn balang tag <APPLET> ile biti tag </APPLET> arasna yerletirmelisiniz. Appletler, <PARAM> tagnda belirtilen parametrelere "getparameter()" metodu ile ularlar. <PARAM> tagnn gerekli iki zellii vardr. NAME ve VALUE. NAME zellii ile parametrenin ad belirtilir ki "getparameter" metodu ile bu isme gre aranr. VALUE zellii ise parametrenin deerini verir. Aada, applette kullanlacak resmi, parametre ile girilen bir HTML dkman rnei verilmitir. <HTML> <HEAD> <TITLE> Maximum Bilgi </TITLE> </HEAD> <BODY> <APPLET CODE="maximumbilgi.class" WIDTH=300 HEIGHT=100> <PARAM NAME=Resim VALUE="logo.gif" > </APPLET> </BODY> </HTML> Java appletinde, resim parametresinin deeri; Resim_logo=getparameter("Resim") komutu ile okunur.

Veri Tipleri Java'da her ey bir nesnedir. Tek istisna veri tipleridir. Java veri tipleri, btn platformlarda standart bykle sahiptir. Bu standart Java'nn tanabilirliini salyor. Aada Java'da bulunan veri tipleri ve byklkleri listelenmitir.

Veri tipi byte short int long float double char

Byklk 8-bit 16-bit 32-bit 64-bit 32-bit kayan nokta 64-bit kayan nokta 16-bit Unicode

Eer C/C++ programcs iseniz "unsigned" tipinin olmad dikkatinizi ekmitir. Byte tipi ise 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 deiik platformlarda ve lkelerde altrlacanda Unicode ok uygundur. Yukardaki tabloda olmayan dier bir veri tipi ise boolean'dr. Bir boolean, deiken numerik deere evrilemez ve sadece iki deer alabilir. Bu deerler "true" ve "false" tur. Literaller Literaller, deikenlere deer atamak iin kullanlr. Integer'lara C/C++ benzer biimde deer atanr. 25 gibi tamsay atayabilirsiniz. Hexadecimal bir tamsay atamak iin, saynn nne "0x" ifadesi koymanz gerekir. rnein, 15 saysn hexadecimal olarak 0xF eklinde 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 veya 64 bit double olarak saklanabilirler. Belirtmezseniz, varsaylan 64 bit double'dr. Belirtmek iin yapacanz tek ey, saynn arkasna float iin F, double iin D koymaktr. rnein 5.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 ift trnak 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 ve bloklarn iinde tanmlanabilirler. Blok, "{" ile balayan ve "}" ile biten ifadeler topluluudur. Blok iinde tanmlanan lokal deikenler, blok sonuna kadar geerlidir. Genel format <tip> <deiken ad> eklindedir. rnein double tipinde pi adl deikeni tanmlayalm: double pi; bir deer de atayabilirdik: double pi=3.1415.

Deikenler; harf, say, dolar iareti, alt izgi ile balayp bu karakterlerle devam edebilir. Ama komutlar, operatrler deiken ismi olarak kullanlamazlar. Aklamalar Programlarnza aklama koymak iin, Java'da kullanabileceiniz iki stil vardr. Birincisi ift 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 her ey, 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 Aritmetik likisel Bit ilemeri Artrma Azaltma

Operatr +-*/% < > >= <= == != && || & | ^ << >> >>> ~ &= |= ^= ++ --

Aada iki deiken tanmlanp, bunlara deer atanyor. Daha sonra ise bu iki deikenin ierii toplanyor: int x,y ; x= 3 ; y=4 ; int z=x+y ; Z 'nin deeri yedidir. Operatrlerin ncelik sras aadaki tabloda gsterilmitir.

[] () ++ - ! ~ */% +<< >> >>> < > <= >= == != &^ | && ||

= ve dierleri Bit ilemleri


Ayrlm Kelimeler Aadaki tabloda, Java'nn komutlar olarak kullanlan kelimeler listelenmitir. Bu kelimeler, Java iin ayrlmtr. Yani bu kelimeleri deiken ismi gibi eyler iin kullanamazsnz. Bunlar snf tanmlamas, deiken tipi belirleme, koul, dng gibi ilemler iin kullanlr.

Abstract break byvalue catch class continue do else false finally for if import int long new package protected return static switch this throw true void

boolean byte case char const default double extends final float goto implements instanceof interface native null private public short super synchronized threadsafe transient try while

Karlatrmalar Karlatrmalar, genelde bir karlatrmann sonucuna gre belirtilen komut veya komutlar altrrlar. Eer birden fazla komut kullanlacak ise blok iinde olmaldr. Tek

bir komut iin buna gerek yoktur. rnein; a deikenin deerinin bir olup olmadn kontrol ediyoruz. Eer a=1 ise a=2, deil ise a=1. Grld zere karlatrma, boolean bir deer dndrmelidir. Yani true (doru) veya false (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 gerek yoktur. Eer birok karlatrma varsa, i ie karlatrmalar (if ) kullanlabilir. Sonucu nmerik olan karlatrmalar iin "switch...case..." komutu kullanlr. Bu komut, sadece nmerik deerler iin kullanlr. Format u ekildedir: switch (deiken) { case 1: // deikenin deeri 1 ise break; case 2:{ // deikenin deeri 2 ise break; } default: // yukardaki deerler haricindeki deer ise break; } Dngler Java 'da tane dng ilemi vardr. "for" dngsnn yaps aadaki ekildedir. for (ilk deer; test; deer artrma/azaltma) Bu yapda grlen ilk deer ifadesi, deikeninizin alaca ilk deerdir. Test ifadesinde ise basit veya kompleks bir karlatrma kullanabilrisiniz. Deer arttrma veya azaltma ise deikeninizin o anki deerini deitirecek bir ifadedir. "for" dngsn rnek kullanm: for (sayac=0;sayac<3;sayac++) Bu rnekte, saya deikenine ilk deer olarak sfr verilmi ve her dngde bir arttrlmas istenmi. Dngden kma koulu ise saya deikeninin 3 ve daha yukar deerleri olarak belirlenmi. Bu durumda saya deikeni 0,1,2 deerleri iin dngye girecektir. "for" dngsnden sonra bir komut veya blok komutlar gelebilir. "while"

dngsnn yaps u ekildedir: while (test). Test ifadesi "for" dngsndeki ile edeerdir. rnek: sayac=0; while (sayac<3) { //komutlar sayac++; } "do" dngsnn yaps: do { //komutlar } while (test); "do" dngsnn "while" dngsnden fark en az bir kere dngye girmesidir. Tm dnglerde "break" komutu dngden klmasn, "continue" komutu ise bir sonraki deere gemeyi salar. Diziler Java'da diziler nesnedirler, C'deki gibi hafzada yer kaplayan pointer deillerdir. Java 'da diziler, C 'ye gre daha gvenilirdir. Dizilerin elemanlarna geliigzel deerler atayamazsnz. Java, dizi elemanlarn srasyla kontrol eder. Dolaysyla arada deer atanmam bir elemana rastlanrsa hata oluur. Bu da C'de kan hafza bozulmalarn nler. Java'da dizi kullanmak iin ilk nce dizinin tipi verilir. Tip verilirken dizinin bykl belirtilmez. int numbers[]; // Integer diziler iin String myStrings[]; // String diziler iin Dier metod ise tipin arkasna keli parantez koymaktr. String[] myStrings; // String diziler iin kisi de tanmlamada ayndr. Her ikisi de kullanlabilir. Size hangisi daha kolay geliyorsa onu kullann. Java dizileri rneklerden de grld zere tm veri tipleri iin kullanlabilir. Sonraki adm ise dizinin "new" operatr kullanlarak yaratlmasnda, bu admda dizinin bykl de belirtilir. int numbers[] = new int[5]; // 5 byklnde integer dizi String myStrings[] = new String[20]; // 20 byklnde string dizi. Bu admdan sonra diziler yaratlm oldu. Dizinin her bir elemanna varsaylan deer atanr. Varsaylan deerler integer veri tipi iin "0 (sfr)", string veri tipi iin "null" deeridir. Dizi elemanlarna bu admdan sonra deer atamak ok kolaydr. C++ 'da olduu gibi Java 'da da dizilerin elemanlar sfrdan balayan tamsay deerleridir. Dizinin ilk elemanna deer atamak iin: myStrings[0] = "ilk dizim"; numbers[0] = 10;

Java'da bir dizinin eleman saysn (bykl) bulmak iin "length" metodu kullanlr. Bu metodun dndrd deer "int" tipindedir. int boyut=numbers.length // boyut=5 olur Java'da ok boyutlu diziler yoktur. Fakat bu tr diziler dizi iinde dizi oluturularak simle edilebilir. 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=new BufferReader( 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 hatay ekrana 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 satra geirir. ayet imlecin bir alt satra gemesini istemiyorsanz print metodunu kullann. Ama bu metodu kullandnzda ekrana bilginin kmas iin akabinde flush metodunuda kullanmalsnz. u ekilde : System.out.print("Ali "); System.out.flush(); Java Sertifikas Java internet ortamna girdiinde, javay destekleyen browserlardaki buglar yznden ou kullanc java zelliini kapatmak durumunda kalmt. Gnmzde javann gvenlii artm durumda. Bunda browserlarn buglarnn azalmasnn rol olduu gibi sertifika kavramnnda byk rol vardr. Sertikasz/aretsiz Appletler Neler Yapabilir? Kullanclarn bilgisayarnda istenmeyen ilemlerin yaplmasn engellemek iin, her browsern gvenlik snrlamalar vardr. Bu gvenlik snrlamasnn tr browsera gre deiir. 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 yaz gsterme, ses ve animasyon ilemlerini yapabilir. Byk iler iin normal appletler uygun deildir ki kk bir veri girii dahi olamadan die dokunur uygulama yapmak mmkn deildir. Sertifikal ve aretli Nedi? Appletlerin web sayfalarn daha grsel hale getirmekten baka bir ie yaramad abuk anlald. Ama daha fazlasn; mesela kulancdan bilgi almak ve yazmak; yapabilmek iin gvenlik snrlamalarn kaldrmak gerekiyordu. Fakat bunun mmkn olduu gvenli olmas iin, appletler yeni browserlar iin iaretlenebiliyor. Bunun iin applet gelitiricisinin amacn belirten sertifaya ihtiyac vardr. Sertifa browser okuyabilecei ekilde aktr ve gelitiricinin adn ve kontrol kodu ierir. Bu sertifaka ile gelitirici appleti gvenli olarak iaretler. Baka hi kimse bu sertifikay kullanarak bir appleti iaretletyemez. nk gelitirici appleti iaretlemek iin sertifika ile birlikte verilen zel kodu kullanr. Kullanc, appleti altrdnda ( applet olan bir web sayfasn ardnda ) browser appletin iareti ile sertifikay karlatrr. Bylece appletin iareti sertifaka ile uyumlu ise altrr. 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 pencerede sertifika hakknda bilgiler vardr ve kullanc onay istenir. Kullanc bu bilgiler nda appletin almasna izin verir veya vermez. Kullancnn almasn onaylam bir applet normal programlarn yapabildii her eyi yapabilir. Bu Durumdaki Gvenlik Buradaki problem onaylama ileminin ya hep ya hi mantnda ilemesidir. Bunun anlam onayladnz bir appletin gerek amacnn dndaki verileride okuyabildii veya istenmeyen bir yere veri yazabildiidir. Tam anlamyla eriim haklarnn belirlenmesi programclara ar geldii iin ou programc tarafndan yaplmyor. Yine de Microsoft ve Netscape'in browserlar iin eriim haklarnn deiik ekilde belirlenmesi karsnda programclar minimum dzeyde eriim hakkyle yetiniyorlar. kinci bir problem ise sertifikann gerekliidir. Gerek sertifikalar, programc tarafndan deil, 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 test sertifikalar diye anlanlar istenen herhangi bir isim ile oluturulabilir. Her ne kadar insan korkutsada, 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 kendilerine ait sertifikalar daha nceden browserlara tanmlanm ve kurulmutur. Maalesef bu irketlerin verdikleri hizmetin bedeli yksek. Bir defaya mahsus cret $200 dan balyor, yllk cretler ise 100$ 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. Bir Netscape ve birde Microsoft iin oluturmak gerekiyor. 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 bedava indirebileceiniz " Software Developer's Kit ( SDK) " e ihtiyacnz var. Bu yazlm kitinin iindeki programlarn tek tek indirilememesi tabii ki ok kt bir durum. Bu kitin iindeki herhangi bir program iin 20 MB byklndeki bu kiti indirmek zorunda kalyorsunuz. Ama bu kiti CD olarakta sipari edebiliyorsunuz. Bu kit ile gelen ingilizce dkmantasyon tam olarak okunmal, nitekim olmazsa olmaz birok nemli parametre mevcut. Burada bu kitin iindeki DOS programlaryla sertifika oluturulmasn ksaca anlatmaya alacam. Bu sadece balang iin yardm niteliindedir. Gerisini dkmana brakyorum. makecert ile Private/Public Key oluturun. Sertifika iin gerekli olan .cer uzantl bir dosya oluacaktr. cerrt2spc 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 Explorer tarafndan indirilecek dosyadr. Oluturduunuz cab dosyasn signcode ile iaretleyin. Bu ilem srasnda oluturduunuz .spc uzantl dosyada kullanlacaktr. Netscape Browser in Test Sertifakas Netscape programclarn iini biraz daha kolaylatrm Microsoft'a gre, sertifika iin gerekli 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 PLUG-IN Bundan birka yl nce Sun, HotJava adl web browser piyasaya kard. Sun'n bu web browser, Java'y destekliyordu. Buda iine java nesneleri gmlebilen uygulamalarn ilk rneini tekil ediyordu. Bunun ardndan Netscape kendi web browsernada Java desteini ekledi. Ardndan da MS. Gn getikce Java'nn yeni srmleri kt. Bununla birlikte Netscape ve MS kendi ihtiyalarna uygun snf ktphanelerini eklediler browserlarna. Bylece her browsern kendine 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 alabilmesi iin gerekli olan her eyi ieren ( Java VM ve snf ktphaneleri ) JRE 'yi kard. Eer JRE bilgisayarnzda yklyse, herhangi bir uygulamaya ( rnein browser ) gmlm java nesneleri alabiyor. Sorun, browserlarn sadece kendi JVM lerine bakmalar ve makinada ykl olan JRE 'ye ulamak iin bir mekanizmaya sahip olmamalaryd. Sun olaya el att : Java Plug-In Sun'n gelitirdii Java Plug-In, JRE 'ye HTML sayfalarndan browser kullanarak ulamak iin bir mekanizma. Java Plug-In, Sun'n web sitesinden bedavaya indirilebiliyor. Sayfaya girildiinde, istenen java srm kullancnn makinasnda ykl deilse, kullanc Java Plug-In sayfasna ynlendirilir. Java Plug-In, Netscape'de plug-in olarak, IE 'de ise ActiveX Control olarak otomatik yklenir. Java Plug-In Kullanmak Java Plug-In, Netscape'de EMBED, IE 'de ise OBJECT tag sayesinde kullanlabilir. MIME tipi ile istenen java srmn belirtmelisiniz. rnein Java 1.2 srmnn zelliklerini kullanan bir appletiniz varsa, MIME tipinde bunu belirterek appletinizin doru almasn salarsnz.

MIME Tipi application/x-java-applet; application/x-java-applet;version=1.1 application/x-java-applet;version=1.2 application/x-java-bean; application/x-java-bean;version=1.1

Nesne Tipi / Srm Applet / Mevcut srm Applet / Java 1.1 Applet / Java 1.2 Bean / Mevcut srm Bean / Java 1.1

HTML sayfasna appletinizi geleneksel yntemlerle koymak isterseniz, yani Java Plug-In kullanmak istemiyorsanz APPLET tagn kullanmanz gerekir. Java Plug-In kullanmak istiyorsanz; Netscape iin EMBED tagn kullanmalsnz : <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 tagn kullanmanz gerektiini unutmaynz. nk browser Java 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 : <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=1,1,0,0"> <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 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 sayfalarmz olaca anlamna gelmiyor. HTML kodu kullanarak her ikisi iinde geerli bir sayfa hazrlayabilirsiniz. Fakat byle bir HTML kodu yazmak iin kendinizi kasmayn. nk Sun, Java Plug-In ile beraber HTML eviricisi ( HTML Converter ) sunuyor. Bu evirici sayesinde HTML sayfasnda kullanlan APPLET taglar her iki browserda da kullanlabilecek ekilde 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 lanse ediyor. Pratikte, birok java programcs ve birok kullanc Java appletlerinin baarsna sebep olduunu 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, browser srmlerinin farkllklar, hatta browser konfigrasyonlarndaki farkllklar appletlerin almasnda rol oynayabiliyor. Browserlara gml Java Sanal Makinasndaki ( Java Virtual Machine ) buglar ve bilgisayarn performansda etkili oluyor. ayet browser'nz hibir appleti altramyor ise, java applet ihtiva eden bir sayfay ardnzda 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 meydana gelen hatalardan dolay oluur. Java programlama dilinde bunun teknik ad "Exception" dr. Java'da hatalar yakalama imkan olduunu biliyoruz, daha dorusu bilinen ou hatay desek daha iyi olur. Oluan hatalar bilinmedik, beklenmedik hata veya appletden kaynaklanmayan hatalar olabildii iin bu hatalar yakalama imkan yok. imdi en ok karlalan ve bilinen hatalar inceleyelim : Class dosyasna ulaamama veya ykleyememe Bilindii gibi applet dediimiz programcklar, derlendikten sonra class dosyas halini alyorlar. Appletlerin almas iin bu class dosyalarnn yklenmesi gerekiyor. ayet class dosyasnn yeri bulunamaz veya dosya yklenirken hata oluur ise gri kutunun iinde class dosyasn bulunamadna dair veya yklenirken hata olutuuna dair bir hata mesaj kar ve applet almaz. Applet almad iin, ki hata daha applet yklenirken olutuu iin, applet kodu iinden bu hatay yakalamanz ve engellemeniz mmkn deildir. Bu hata ou durumda, <applet> tag iinde class dosyasnn bulunduu yeri yanl olarak belirtildii zaman ortaya kyor. A kaynaklarna eriememe Baz zamanlar a zerinde bulunana server ger veya herhangi bir sebepten balant kurulamaz. Kullanc firewall arkasndadr ve Socket, DatagramSocket istekleri almaz. Eer a kaynaklarna eriim gerektiren bir applet yazyorsanz, iletiim iin TCP/UDP protokl yerine HTTP protokln kullann. nk firewall arkasnda olan kullanc says gn getike artyor. Karlalan dier bir hata sebebi ise, browserlarn appletler ile ilgili kstlamalarndan kaynaklanyor. Appletviewer'da sorunsuz alan applet, browserda almyor. Applet sadece bulunduu server ile balant kurabilir. Birok applet ise domain isimlerini IP adresine evirirken hata oluturuyorlar. Bunu nlemek iin domain ismi yerine IP adresi kullann. Null Hatalar ok karlalan hatalardan biriside NULL hatalardr. Bu appletin kodundan kaynaklanan ve appletin almamasn salayan bir hatadr. Bir deikene bir nesne atarken, nesnenin deerinin Null ( deersiz ) olmamasna dikkat edin. Aadaki rnei inceleyin: rnek: String sayac = getParameter ("sayac"); //sayac parametresini al if ( sayac == null ) // Eer sayac null ise sayac = "1"; // sayac deerini "1" yap.

Biraz dikkat ile, web sayfalarnda nmze kan gri dikdrgen kutucuklar azaltabiliriz.

You might also like