9.4.2014 2013-2014 Bahar Dönemi Mehmet Akif Ersoy Üniversitesi Teknik Bilimler Meslek Yüksekokulu Burdur 2014 Muhammer İLKUÇAR <imuammer@yahoo.com> Muhammer İLKUÇAR, MAKÜ-2014 BURDUR Java Programlama Giriş 1 9.4.2014 Neden Java Programlama Platformdan bağımsızdır Açık Kaynak kodludur Dağıtık Kod yazımı (Syntax) olarak C, C++, C# dillerine benzer Yeteri kadar dokumana (Türkçe) sahiptir Popüler bir dildir ve iş olanakları fazladır. Muhammer İLKUÇAR, MAKÜ-2014 BURDUR Nesne tabanlıdır (object orianted) 2 9.4.2014 Java Programla Dili ile neler yapılabilir? Uygulama (application) yazılımları Servlet ( server side java kodu) ile web programlama Akıllı Cihaz (Smart Device) programlama (Cep telefonu, PDA, Tablet, Jeton, Java Kart, Çamaşır makinası, uydu alıcıları, Blu-ray Disk oynatıcılar, yazıcılar vb.…) Android, Bada,Sybian vb. gibi mobil telefon ve Tablet bilgisayar işletim sistemleri için program geliştirme Console, Grafik (GUI) ve web arayüzlü program geliştirme http://www.oracle.com/technetwork/java/javame/javamobile/videos/index.html Muhammer İLKUÇAR, MAKÜ-2014 BURDUR Applet (internet ortamında - browser da çalışabilen uygulama) 3 9.4.2014 Java Programlama Graphics User Interface (GUI) Muhammer İLKUÇAR, MAKÜ-2014 BURDUR Console programlama 4 9.4.2014 Java Programla İçin gerekli olanlar Java application program interface (java API) contains predefined classes and interfaces fordeveloping Java programs. Java Standard Edition (Java SE), Java SE can be used to develop client-side standalone applications or applets. Java Enterprise Edition (Java EE), Java EE can be used to develop server-side applications, such as Java servlets and Java Server Pages. Micro Edition (Java ME), Java ME can be used to develop applications for mobile devices, such as cell phones. Muhammer İLKUÇAR, MAKÜ-2014 BURDUR Java Development Toolkit (JDK). Kaynak kitap Java SE içindir. http://www.java.com http://www.oracle.com 5 9.4.2014 Java Programla Arayüzleri (Integrated Development Environment-IDE) NetBeans IDE (https://netbeans.org ; http://www.oracle.com) JCreater (www.jcreator.com) BlueJ (www.bluej.org) DrJava (www.drjava.org) InteliL IDEA (www.jetbrains.com/idea/) Muhammer İLKUÇAR, MAKÜ-2014 BURDUR Eclipse IDE (https://www.eclipse.org/downloads/; http://www.oracle.com) 6 Javac Ornek1.Java (Compile) Ornek1.class , Ornek1.jar Ornek1.Java Muhammer İLKUÇAR, MAKÜ-2014 BURDUR package Ornek1; //proje adı import java.util.Scanner; // Sınıflar public class Ornek1 { public static void main(String[] args) { System.out.println(a); } } 9.4.2014 Java Program Yapısı JVM yüklü Herhangi bir Cihaz Java Ornek1.class (RUN) Kaynak (27.02.2014): http://ismailsnr.com/2011/04/21/neden-java/ 7 9.4.2014 Java Programla Arayüzleri (Integrated Development Environment-IDE) Muhammer İLKUÇAR, MAKÜ-2014 BURDUR NetBeans IDE (https://netbeans.org ; http://www.oracle.com) 8 9.4.2014 Java Programla Arayüzleri (Integrated Development Environment-IDE) Muhammer İLKUÇAR, MAKÜ-2014 BURDUR Eclipse IDE (https://www.eclipse.org/downloads/; http://www.oracle.com) 9 9.4.2014 NetBeans IDE 7.4 Arayüzü Muhammer İLKUÇAR, MAKÜ-2014 BURDUR Yeni proje oluşturma: Adım-1 10 9.4.2014 NetBeans IDE 7.4 Arayüzü Muhammer İLKUÇAR, MAKÜ-2014 BURDUR Yeni proje oluşturma: Adım-2: seç ve Next > 11 9.4.2014 NetBeans IDE 7.4 Arayüzü Muhammer İLKUÇAR, MAKÜ-2014 BURDUR Yeni proje oluşturma: Adım-3: projenin adını (ornek) ve yerini giriniz ve Finish 12 9.4.2014 NetBeans IDE 7.4 Arayüzü Derle ve Çalıştır Compile & Run) Muhammer İLKUÇAR, MAKÜ-2014 BURDUR Yeni proje oluşturma: Adım-4: projenin adını (ornek) ve yerini giriniz 13 9.4.2014 NetBeans IDE 7.4 Arayüzü Muhammer İLKUÇAR, MAKÜ-2014 BURDUR Yeni proje oluşturma: Adım-5: Kodların yazımı 14 9.4.2014 NetBeans IDE 7.4 Arayüzü Muhammer İLKUÇAR, MAKÜ-2014 BURDUR Yeni proje oluşturma: Adım-6: Ekran Çıktısı 15 9.4.2014 Java Program Yapısı package ornek; import javax.swing.JOptionPane;// import javax.swing.*; public static void main(String[] args) { System.out.print("merhaba .... "); JOptionPane.showConfirmDialog(null, "Selam"); } } Muhammer İLKUÇAR, MAKÜ-2014 BURDUR public class Ornek { 16 Scanner yazıp Alt+Shift+I import java.util.Scanner; eklenir 9.4.2014 Muhammer İLKUÇAR, MAKÜ-2014 BURDUR Java Program Yapısı 17 Muhammer İLKUÇAR, MAKÜ-2014 BURDUR 9.4.2014 Java Program Yapısı 18 Klavyeden oku Yazdırma 9.4.2014 Muhammer İLKUÇAR, MAKÜ-2014 BURDUR Java Program Yapısı 19 SORULAR Muhammer İLKUÇAR, MAKÜ-2014 BURDUR 9.4.2014 Java Program Yapısı 20 Muhammer İLKUÇAR, MAKÜ-2014 BURDUR 9.4.2014 Java Komutları Hızlı Başvuru 21 Muhammer İLKUÇAR, MAKÜ-2014 BURDUR 9.4.2014 Java Komutları Hızlı Başvuru 22 Muhammer İLKUÇAR, MAKÜ-2014 BURDUR 9.4.2014 Java Komutları Hızlı Başvuru 23 Muhammer İLKUÇAR, MAKÜ-2014 BURDUR 9.4.2014 Java Komutları Hızlı Başvuru 24 Muhammer İLKUÇAR, MAKÜ-2014 BURDUR 9.4.2014 NetBeans IDE 7.4 Kısayol Tuşları 25 Muhammer İLKUÇAR, MAKÜ-2014 BURDUR 9.4.2014 NetBeans IDE 7.4 Kısayol Tuşları 26 JSP (JavaServer Pages) JSP, bir java sunucusu üzerinde çalışan HTML, CSS, Javascript çıktısı üretebilen, Java gösterim teknolojisi olarak tanımlanabilir. JSP, etiketler ve Java kodlarından oluşur. Programın akışını, dinamik çıktı üretilmesini vs. etiketler ve java kodu ile yapılır. Ancak JSP içinde doğrudan java kodu yazmak yerine, bu kodların JSP içine dahil edilmesi tavsiye edilir. Yani JSP içine veritabanı bağlantıları için java kodu yazmak yerine, bu kodları bir java class'ı içine yazıp, JSP içinden bu class'ın çağırılması tavsiye edilir. JSP'nin etiket kütüphanesi JSTL (JavaServer Pages Standard Tag Library) olarak adlandırılır. Bir JSP kodu sunucudan ilk defa çağırıldığında veya web sunucu ilk defa başlatıldığında, JSP kodu HttpServlet sınıfından türetilerek bir class olarak oluşturulur ve sunucunun yaşan süresi boyunca çalışmaya devam eder. Servlet Servlet, Java application programming interface (API), sunucu üzerinde çalışan, dinamik içerik üreten bir web bileşenidir. HttpServlet, servlet'e örnek olarak verilebilir. Servletler, Java'nin, CGI (Common Gateway Interface) programlamasına alternatifi olarak oluşturulmuşlardır. Web sunucusu ile diğer ortak uygulamaları ve veri tabanı arasında yer alırlar. Örnekle açıklayacak olursak, bir Servlet ilk defa çağırıldığında veya Tomcat gibi web sunucu ilk defa çalıştırıldığında, Servlet'in bir örneği (instance) oluşturulur ve sunucunun yaşam süresi boyunca hazırda bekler. Eğer o servlet için bir istek olursa, yanıt verir. Servlet'lere istekler HttpServletRequest arayüzünden gelir, servlet'in cevabı ise HttpServletResponse arayüzünden döndürülür Kaynak(27.02.2014): http://e-nokta.org/content/jsf-jsp-ve-servlet-arasindaki-fark-nedir 9.4.2014 Muhammer İLKUÇAR, MAKÜ-2014 BURDUR Java Programla İçin gerekli olanlar 27 9.4.2014 Maven (Becerikli) Java Tools Maven; Java projelerinin geliştirme süreçlerini basitleştirmek, standartlaştırmak, doküman hazırlamak, kütüphane bağımlılıklarından kullanıcıları kurtarmak için kullanılan bir araçtır. Maven ile nredeyse bütün java projelerinin iskeleti oluşturulabilir. Bu iskelet standartlaştığı için, siz oluşturduğunuz projeyi geliştirme ortamınızdan bağımsız olarak geliştirirsiniz. Proje iskeleti standart olduğu için java projenizi ister eclipse ile ister netbeans ile isterseniz başka IDE’lerle geliştirebilirsiniz. Bu sayede geliştirme süreçlerini basite indirgersiniz. Muhammer İLKUÇAR, MAKÜ-2014 BURDUR (becerikli) 28 Hibernate; genel anlamda Java sınıflarından veritabanı tablolarına dönüşümü ya da Java veri tiplerinden SQL veri tiplerine dönüşümünü gerçekleştirir. Ayrıca veri sorgulama ve veri çekme işlemlerini de kullanıcı için sağlar. Bu özellikleriyle Hibernate uygulamaların geliştirilme aşamasında çok büyük kolaylık ve zamandan kazanç sağlar. Hibernate kullanmadan JDBC ile veri tabanına erişmek mümkündür. Ancak veri tabanındaki tablo sayısı arttığında buna bağlı olarak tablolar arası ilişkiler de artacaktır. Uygulama büyüdükçe bu ilişkiler çok karmaşık bir hal alabilir. Veri tabanı işlemleri için connection açma kapama, ilişkili tablolar için çok karmaşık SQL’ler yazma, aynı fonksiyon içerisinde birden fazla connection almama gibi dikkat etmemiz gereken işler artacaktır. Hibernate, hemen hemen yaygın tüm veri tabanı sistemleri ile uyumludur. Bu özelliği ile çok fazla kurum tarafından da kullanılmaktadır. 9.4.2014 Muhammer İLKUÇAR, MAKÜ-2014 BURDUR Java Hibernate (Kış Uykusuna Yatma) Tools 29 Kaynak(28.02.2014): http://www.javauzmani.com/hibernate-nedir/