1. Giriş
1.1. Présentation
Bu belgenin PDF değeri |BURADA|'tir.
Bu belgedeki örnekler |BURADA| adresinde mevcuttur.
Burada, örnekler yardımıyla
- Java Server Faces 2 (JSF2) çerçevesini tanıtmayı,
- JSF2 için PrimeFaces bileşen kütüphanesini, masaüstü ve mobil uygulamalar için tanıtmayı amaçlıyoruz.
Bu belge, esas olarak PrimeFaces ve [http://www.primefaces.org] bileşen kütüphaneleriyle ilgilenen öğrenciler ve geliştiricilere yöneliktir. Bu çerçeve, masaüstü uygulamalarına benzer bir görünüm ve davranışa sahip web uygulamaları oluşturmaya olanak tanıyan, AJAX özellikli onlarca bileşen ([http://www.primefaces.org/showcase/ui/home.jsf]) sunmaktadır. PrimeFaces, JSF2'e dayanmaktadır; bu nedenle öncelikle bu çerçeveyi tanıtmamız gerekmektedir. PrimeFaces ayrıca mobil cihazlara özel bileşenler de sunmaktadır. Bunları da ele alacağız.
Konuyu örneklemek amacıyla, farklı ortamlarda bir randevu alma uygulaması geliştireceğiz:
- Glassfish 3.1 sunucusunda JSF2 / EJB3 / JPA teknolojilerini kullanan klasik bir web uygulaması,
- PrimeFaces teknolojisiyle aynı uygulamanın AJAX uyumlu versiyonu,
- ve son olarak, PrimeFaces Mobile teknolojisini kullanan bir mobil sürüm.
Her sürüm oluşturulduğunda, bunu bir Tomcat 7 sunucusu üzerinde JSF2 / Spring / JPA ortamına taşıyacağız. Böylece altı adet EE Java uygulaması oluşturacağız.
Bu belge, yalnızca bu uygulamaları derlemek için gerekli olan bilgileri içermektedir. Dolayısıyla, belgede kapsamlı bir bilgi aramamalıyız. Böyle bir şey bulamayacağız. Bu belge aynı zamanda bir iyi uygulamalar derlemesi de değildir. Deneyimli geliştiriciler, bazı şeyleri farklı şekilde yapabileceklerini düşünebilirler. Umarım bu belge, kötü uygulamaların bir derlemesi de değildir.
JSF2 ve PrimeFaces konularını daha derinlemesine incelemek için aşağıdaki referans adresleri kullanılabilir:
- [ref1]: Java EE5 Eğitimi [http://java.sun.com/javaee/5/docs/tutorial/doc/index.HTML], Java EE5'i keşfetmek için Sun referansı. Web teknolojisini ve özellikle JSF'i keşfetmek için II ve [Web Tier] bölümlerini okuyabilirsiniz. Öğreticideki örnekler indirilebilir. Bu örnekler, yüklenip çalıştırılabilen NetBeans projeleri biçimindedir,
- [ref2]: David Geary ve Cay S. Horstmann’ın yazdığı Core JavaServer Faces kitabı, üçüncü baskı, Mc Graw-Hill yayınevi,
- [ref3]: PrimeFaces [http://primefaces.googlecode.com/files/primefaces_users_guide_3_2.pdf] belgeleri,
- [ref4]: PrimeFaces Mobile: [http://primefaces.googlecode.com/files/primefaces_mobile_users_guide_0_9_2.pdf] belgeleri.
Bazen, okuyucuya bu kitapla bir konuyu daha derinlemesine inceleyebileceğini belirtmek için [ref2]'e atıfta bulunacağız.
Bu belge, mümkün olduğunca geniş bir kitle tarafından anlaşılabilir şekilde yazılmıştır. Anlamak için gerekli ön koşullar şunlardır:
- Java diline ilişkin bilgi,
- Java geliştirme konusunda temel bilgiler EE.
[http://developpez.com] sitesinde bu önkoşullar için gerekli tüm kaynaklar bulunabilir. Bunların bir kısmı [http://tahe.developpez.com] sitesinde de mevcuttur:
- [ref5]: Servletler ve JSP sayfaları ile JAVA'da WEB programlamaya giriş (2002): Java ile web programlamanın temellerini sunar: servletler ve sayfalar JSP,
- [ref6] : Örneklerle Java'da MVC Web Geliştirmenin Temelleri (2006): web uygulamalarının üç katmanlı mimarilerle geliştirilmesini önerir; bu mimarilerde web katmanı MVC tasarım modelini (Model, Görünüm, Denetleyici) uygular.
- [ref7]: NetBeans IDE ve GlassFish uygulama sunucusu ile Java EE'ye giriş (2012). Bu belge, JSF 1 ve EJB3'i keşfetmenizi sağlar.
- [ref8]: Uygulamalı Java 5 Kalıcılığı (2007). Bu belge, JPA (Java Persistence API) ile veri kalıcılığını keşfetmenizi sağlar.
- [ref9]: NetBeans 6.5 IDE ve Glassfish Java EE sunucusu ile bir Java EE web hizmeti oluşturma (2009). Bu belge, bir web hizmetinin oluşturulmasını incelemektedir. Bu belgede incelenen örnek uygulama, [ref9]'ten alınmıştır.
1.2. 'daki örnekler
Bu belgedeki örnekler, hem NetBeans hem de Eclipse için Maven projeleri biçiminde URL ve [BURADA] adreslerinde mevcuttur:
![]() |
NetBeans'te bir projeyi içe aktarmak için:
![]() |
- [1]'te bir proje açılır,
- [2]'te, dosya sisteminde açılacak projeyi seçin,
- [3]'te proje açılır.
Eclipse'te ise,
![]() |
- [1]'te bir proje içe aktarılır,
- [2]'te proje mevcut bir Maven projesidir,
![]() |
![]() |
- [3]'te: dosya sisteminde belirtilir,
- [4]'te: Eclipse bunu bir Maven projesi olarak tanır,
- [5], içe aktarılan proje.
1.3. Kullanılan araçlar
Bundan sonra (Mayıs 2012) şunları kullanıyoruz:
- IDE (Entegre Geliştirme Ortamı) NetBeans 7.1.2 (URL [http://www.netbeans.org] adresinden indirilebilir),
- IDE Eclipse Indigo [http://www.eclipse.org/], özelleştirilmiş haliyle SpringSource Tool Suite (STS) [http://www.springsource.com/developer/sts],
- PrimeFaces'in 3.2 sürümü, URL ve [http://primefaces.org/]'te mevcuttur,
- PrimeFaces Mobile'ın 0.9.2 sürümü, URL ve [http://primefaces.org/]'te mevcuttur,
- WampServer için SGBD, MySQL ve [http://www.wampserver.com/].
1.3.1. IDE NetBeans'in kurulumu
Burada, URL ve [http://netbeans.org/downloads/]'te bulunan NetBeans 7.1.2'nin kurulumunu anlatıyoruz.
![]() |
Yukarıdaki bağlantıdan, GlassFish 3.1.2 ve Apache Tomcat 7.0.22 sunucularını içeren Java sürümü EE'i indirebilirsiniz. İlki, EJB3 (Enterprise Java Bean) kullanarak EE Java uygulamaları geliştirmeye olanak tanır; diğeri ise EJB olmadan EE Java uygulamaları geliştirmeye olanak tanır. Bunun üzerine EJB'leri Spring [http://www.springsource.com/] çerçevesiyle değiştireceğiz.
NetBeans yükleyicisi indirildikten sonra çalıştırılacaktır. Bunun için JDK (Java Development Kit) ve [http://www.oracle.com/technetwork/java/javase/overview/index.HTML] gereklidir. NetBeans 7.1.2'nin yanı sıra şunlar da kurulacaktır:
- birim testleri için JUnit çerçeve programı,
- Glassfish 3.1.2 sunucusu,
- Tomcat 7.0.22 sunucusu.
Kurulum tamamlandıktan sonra NetBeans'i başlatın:
![]() |
- [1]'te, NetBeans 7.1.2'de üç sekme bulunur:
- [Projects] sekmesi, açık NetBeans projelerini gösterir;
- [Files] sekmesi, açık NetBeans projelerini oluşturan çeşitli dosyaları gösterir;
- [Services] sekmesi, NetBeans projeleri tarafından kullanılan bir dizi aracı bir araya getirir;
- [2]'te [Services] sekmesi etkinleştirilir ve [3]'te [Servers] dalı etkinleştirilir,
- [4] komutuyla, Tomcat sunucusunu başlatarak kurulumun doğru yapıldığını kontrol ediyoruz,
![]() |
- [6]'te, [Apache Tomcat] ve [5] sekmelerinde sunucunun doğru şekilde başlatıldığını kontrol edebiliriz,
- [7]'te Tomcat sunucusunu durduruyoruz,
Aynı şekilde Glassfish 3.1.2 sunucusunun doğru kurulduğunu da kontrol edebiliriz:
![]() |
- [8] komutuyla Glassfish sunucusunu başlatırız,
- [9] komutuyla sunucunun düzgün bir şekilde başlatıldığını kontrol ederiz,
![]() |
- [10]'te sunucuyu durduruyoruz.
Artık çalışır durumda bir IDE'e sahibiz. Projeler oluşturmaya başlayabiliriz. Bu projelere göre, IDE'in çeşitli özelliklerini detaylı olarak ele alacağız.
Şimdi IDE Eclipse'i kuracağız ve bu ortamda az önce indirdiğimiz Tomcat 7 ve Glassfish 3.1.2 sunucularını kaydedeceğiz. Bunun için bu iki sunucunun kurulum klasörlerini bilmemiz gerekiyor. Bu bilgileri her iki sunucunun özelliklerinde bulabiliriz:
![]() |
- [1]'te Tomcat 7'nin kurulum klasörü,
![]() |
- ise [2], Glassfish sunucusunun etki alanı klasörüdür. Eclipse'teki Glassfish kaydında, yalnızca şu bilgiyi girmelisiniz: [D:\Programs\devjava\Glassfish\glassfish-3.1.2\glassfish].
1.3.2. Eclipse'in IDE Kurulumu
Eclipse, bu belgede kullanılan IDE sürümü olmasa da, yine de kurulumunu anlatacağız. Zira belgedeki örnekler, Eclipse için Maven projeleri biçiminde de sunulmaktadır. Eclipse, Maven ile önceden entegre olarak gelmez. Bunu yapmak için bir eklenti yüklemeniz gerekir. Temel Eclipse sürümünü yüklemek yerine, Spring çerçevesiyle ilgili birçok eklentinin yanı sıra önceden yüklenmiş bir Maven yapılandırmasına da sahip olan SpringSource Tool Suite [http://www.springsource.com/developer/sts]'i yükleyeceğiz.
![]() |
- SpringSource Tool Suite (STS) [1], STS [2A] [2B] sürümlerini indirmek için,
![]() |
![]() |
- İndirilen dosya, [3A] ve [3B] dosya dizinlerini oluşturan bir yükleyicidir. [4]'te yürütülebilir dosya çalıştırılır,
- [5]'te, karşılama penceresi kapatıldıktan sonra IDE'in çalışma penceresi açılır. [6]'te, uygulama sunucuları penceresi görüntülenir,
![]() |
- [7]'te sunucu penceresi görüntülenir. Bir sunucu kaydedilmiştir. Bu, kullanmayacağımız bir VMware sunucusudur. [8]'te yeni sunucu ekleme sihirbazı çağrılır,
![]() |
- [9A]'te çeşitli sunucular önerilir. Apache Tomcat 7 sunucusunu kurmayı seçiyoruz ([9B]),
![]() |
- [10], NetBeans ile birlikte kurulan Tomcat 7 sunucusunun kurulum klasörünü belirleriz. Tomcat sunucunuz yoksa, [11] düğmesini kullanın,
- [12] düğmesini kullanın; Tomcat sunucusu [Servers] penceresinde görünür,
![]() |
- [13]'te sunucuyu başlatırız,
- [14]'te sunucu çalışır durumda,
- [15]'te, sunucuyu durduruyoruz.
[Console] penceresinde, her şey yolunda giderse Tomcat'ten aşağıdaki günlükleri alırız:
![]() |
- Yine [Servers] penceresinde, [16] adlı yeni bir sunucu eklenir,
- [17]'te Glassfish sunucusu önerilmez;
- bu durumda [18] bağlantısını kullanıyoruz,
![]() |
- [19]'te, Glassfish sunucusu için bir adaptör eklemeyi seçiyoruz,
- bu indirildikten sonra [Servers] penceresine geri dönülür ve yeni bir sunucu eklenir,
- bu sefer [21]'te Glassfish sunucuları önerilir,
![]() |
- [22] penceresinde, NetBeans ile indirilen Glassfish 3.1.2 sunucusunu seçiyoruz,
- [23]'te, Glassfish 3.1.2'nin kurulum klasörünü belirleyin ([24]'te belirtilen yola dikkat edin),
- Glassfish sunucunuz yoksa [25] düğmesini kullanın,
![]() |
- [26] adımında, sihirbaz Glassfish sunucusunun yönetici şifresini sorar. İlk kurulumda bu şifre normalde adminadmin'tir,
- sihirbaz tamamlandığında, [Servers] penceresinde Glassfish sunucusu [27],
![]() |
- [28]'te, onu başlatırız,
- [29]'te bir sorun ortaya çıkabilir. Bu, kurulum sırasında girilen bilgilere bağlıdır. Glassfish, JDK (Java Development Kit) gerektirir, JRE (Java Runtime Environment) değil,
- Glassfish sunucusunun özelliklerine erişmek için, [Servers] penceresinde üzerine çift tıklayın,
- [20] penceresi açılır; burada [Runtime Environment] bağlantısını takip edin,
![]() |
- [31]'te, varsayılan olarak kullanılan JRE'i bir JDK ile değiştireceğiz. Bunun için [32] bağlantısını kullanırız,
- [33]'te, makineye yüklü olan JRE'leri,
- [34]'te ise bir tane daha eklenir,
![]() |
- [35]'e, [Standard VM]'i (Sanal Makine) seçin,
- [36]'te, JDK (>=1.6) seçilir,
- [37]'te, yeni JRE'e verilen ad,
![]() |
- Glassfish için JRE seçeneğine geri döndüğümüzde, [38] olarak bildirilen yeni JRE'i seçiyoruz,
- kurulum sihirbazı tamamlandıktan sonra, [Glassfish] ve [39]'i yeniden başlatıyoruz,
- [40]'te başlatılır,
![]() |
- [41]'te sunucu dizin yapısı,
- [42]'e, Glassfish günlüklerine erişilir:
![]() |
- [43] ile Glassfish sunucusunu durduruyoruz.
1.3.3. [WampServer] kurulumu
[WampServer], bir Windows makinesinde PHP / MySQL / Apache üzerinde geliştirme yapmak için kullanılan bir yazılım paketidir. Bunu yalnızca SGBD ve MySQL için kullanacağız.
![]() |
- [WampServer] [1] sitesinden uygun sürümü seçin [2],
- İndirilen dosya bir kurulum programıdır. Kurulum sırasında çeşitli bilgiler istenir. Bu bilgiler MySQL ile ilgili değildir. Dolayısıyla bu bilgileri göz ardı edebilirsiniz. Kurulumun sonunda [3] penceresi görüntülenir. [WampServer]'i çalıştırın,
![]() |
- [4]'e dönüştürülür; [WampServer] simgesi, ekranın sağ alt köşesindeki görev çubuğuna yerleştirilir; [4],
- üzerine tıklandığında [5] menüsü görüntülenir. Bu menü, Apache sunucusunu ve SGBD ile MySQL'i yönetmeye olanak tanır. Bunu yönetmek için [PhpPmyAdmin] seçeneğini kullanırız;
- böylece aşağıdaki pencere açılır,

[PhpMyAdmin]'in kullanımı hakkında fazla ayrıntıya girmeyeceğiz. Sadece bu öğreticideki örnek uygulamanın veritabanını oluşturmak için nasıl kullanılacağını göstereceğiz.






























