Java’nın desktop tarafında her zaman yavaş olduğu söylenir. Bu söylentiye katılmamak elde değil. Çünkü zamanında swing kullanarak yapmış olduğum bir desktop application beni fazlasıyla çıldırttı
Aslında yeni nesil makinelerde hergangi bir sorun yaşamıyorum JTable haricinde. JTable’a biraz yüklendiğiniz zaman afallıyo ve render süresi oldukça fazla sürüyor. Java desktop tarafında zayıf olabilir ama web tarafında oldukça güçlü ve hızlıdır
Java ‘da web araçlarının gelişim tarihinden girersek asıl konuya gelmemiz çok uzun sürebilir
Onun için direk konuya girmek daha iyi olur diye düşünüyorum.
JSF java için geliştirilmiş bir framework’dür. Model – View – Controller (MVC) yapısı ile yeni nesil standartlara göre web uygulaması geliştirmemizi sağlar. Bünyesinde bulundurduğu bileşenler (DataTable, OutputText, SelectOneListbox vs. ) ile projeyi geliştirmemizde bir çok kolaylık sunar.
JSF her ne kadar kendi içerisinde bir çok bileşen barındırsada profesyonel bir proje geliştirirken bileşenleri yetersiz kalmakta. İşte bu anda yardımımıza 3. parti jsf kütüphaneleri yetişmekte. RichFaces, Icefaces ve yerli malı yurdun herkes onu kullanmalı PrimeFaces gibi bir çok 3. parti bileşen kütüphanesi bulunmakta. Bu kütüphaneler bize zengin bir bileşen topluğu sunarak projelerimizi geliştirmemizi sağlamaktadırlar.
Bu yazıda ve ardından gelecek olan yazılarımda richfaces bileşenlerinin kullanımı hakkında bilgiler vereceğim. Richfaces benim için jsf için yazılmış en iyi 3. parti kütüphanedir. Jboss firması tarafından opensource olarak geliştirilmekte ve ücretsiz dağıtılmaktadır. Richfaces’ın en beğendiğim özelliği ise JSF Html bileşenler de dahil her türlü bileşene kolayca ajax desteği verebilmemiz. Bu sayede kullanıcılar ile etkileşimi oldukça iyi olan uygulamalar ortaya çıkartabiliyoruz.
Richfaces kütüphanelerini şu adresten en son stabil sürümünü indirebilirsiniz. Ben richfaces’ı seam ile beraber kullanıyorum. Yanlız yeni başlayanlar için seam hakkında da bilgi vermek gerektiğinden jsf ( facelets) ile beraber anlatacağım. IDE olarak kullanımı yeni arkadaşlara daha kolay geldiğinden Netbeans’i seçiyorum. Normal şartlarda Eclipse kullanmaktayım
Öncelikle netbeans’a facelets desteğini kazandırmak zorundayız. Bunun için netbeans için facelets eklentisini kurmamız gerekmekte. Netbeans 6.7.1 sürümünde Tools->Plugins penceresinde Available Plugins sekmesinde Facelets Support, bizi onu kurmamız için beklemekte. Facelets Support eklentisini kurduktan sonra artık yeni bir proje oluşturarak örneklerimize geçelim.
Netbeans başladıktan sonra File->New Project penceresinden Categories bölümünden Java Web’i seçiyoruz. Sonrasında yan taraftaki Projects bölümünden ise Web Application’ı seçerek Next butonuna basıp devam ediyoruz.
Sıradaki penceremizde ise projemize bir isim vererek Next butonuna basıyoruz. Ben bu projeye yengec kod adını verdim
3. pencerede projenin çalışacağı server’ı seçmemiz isteniyor.
4. pencere de ise projemizde kullanacağımız framework’leri seçmemiz isteniyor. Burada Facelets ‘ı seçip finish butonuna basıyoruz.
Evet artık bir java web projesi oluşturmuş durumdayız. Projemiz en yalın hali ile aşağıdaki gibi bir görüntü vermekte.
Buraya kadar yaptığımızı özetlersek , netbeans’e facelets desteği kazandırdık ve facelets kullanarak bir proje oluşturduk. Herşeyin normal gittiğini test etmek için projemizi build edip (Kısayol Tuşu: F6) çalıştıralım. Eğerki herhangi bir sorun yok ise işletim sistemimizin default tarayıcısı çalışarak projemizi açacaktır.
Sıra projemize jboss.org adresinden indirdiğimiz Richfaces kütüphanelerini dahil etmeye geldi. Ben richfaces-ui-3.3.2.SR1 versiyonunu indirdim. Zip dosyasını açtığımız zaman richfaces-ui-3.3.2.SR1\lib klasöründe projemize dahil etmemiz gereken jar dosyaları bulunmakta. Proje ağacındaki Libraries’e sağ tıklayıp Add Jar /Folder seçeneğini seçiyoruz. Burada richfaces-ui-3.3.2.SR1\lib altındaki jar dosyalarını seçerek projemize dahil ediyoruz.
richfaces-api-3.3.2.SR1.jar
richfaces-impl-3.3.2.SR1.jar
richfaces-ui-3.3.2.SR1.jar
Projemize Richfaces kütüphanelerini dahil ettikten sonra sıra web.xml dosyasında richfaces için gerekli olan tanımlamaları yapmaya geldi. web.xml dosyasındaki </web-app> tagının hemen üstüne aşağıdaki kodları yapıştırıyoruz.
<!– BEGIN:RichFaces Tanımlamaları –>
<context-param>
<param-name>org.richfaces.SKIN</param-name>
<param-value>blueSky</param-value>
</context-param>
<context-param>
<param-name>org.richfaces.CONTROL_SKINNING</param-name>
<param-value>enable</param-value>
</context-param>
<filter>
<display-name>RichFaces Filter</display-name>
<filter-name>richfaces</filter-name>
<filter-class>org.ajax4jsf.Filter</filter-class>
</filter>
<filter-mapping>
<filter-name>richfaces</filter-name>
<servlet-name>Faces Servlet</servlet-name>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher>
</filter-mapping>
<!– END:RichFaces Tanımlamaları –>
Artık projemize richfaces’ı da tanıtmış olduk. Şimdi buraya kadar herşeyin yolunda gidip gitmediğini kontrol etmek için bir deneme yapalım. Projemizi oluştururken bizim için otomatik olarak üretilmiş iki adet xhtml dosyası bulunmakta. Bunlardan bir tanesi şablon dosyamız olan template.xhtml, diğeri ise template-client.xhtml.
template.xhtml dosyası Asp.net bilenler için masterpage benzeyen bir yapı diyebiliriz. Daha sonra daha detaylı olarak bu konuya değineceğim. template-client.xhtml dosyasını açalım. Öncelikle richfaces için tanımlı olan prefix’leri eklememiz gerekmekte. Dosyamıza şu prefixleri ekliyoruz.
xmlns:f=”http://java.sun.com/jsf/core”
xmlns:rich=”http://richfaces.org/rich”
xmlns:a=”http://richfaces.org/a4j”
Şimdi basit bir test için <ui:define name=”body”> </ui:define> arasına aşağıdaki kodu yazıyoruz.
<rich:panel>
<f:facet name=”header”>Merhaba</f:facet>
Merhaba Dunya
</rich:panel>
Bu kod richfaces bileşenlerinden olan panel’in tanımlamasını yapıyor. Buraya kadar herşeyin doğru olup olmadığını kontrol için projemizi build edip çalıştırıyoruz.
Evet gördüğünüz üzere buraya kadar herşeyi doğru bir şekilde tanımladığımızın kanıtı olarak sayfamızda richPanel güzel bir şekilde gözüktü. Richfaces’ın kurulumu bu kadar. Bundan sonra facelets şablon yapısı ve richfaces bileşenleri ile devam edeceğiz.
Şu ana kadar yaptığımız tüm işlemlerin bulunduğu netbeans proje dosyasını buradan indirebilirsiniz.
“JSF ve Richfaces” için 1 Yorum
Programlama ve hayata dair yazılar yazdığım bloguma hoş geldiniz.
Adım Kamil. 23 yaşındayım. Yazılım geliştiricisiyim. Selçuk Üni. Bilgisayar Programcılığı
bölümünden mezunum. Açık Öğretim İktisat Fakultesi 3. sınıf öğrencisiyim. Profesyonel hayatımda java ve php tabanlı
yazılımlar geliştirmekteyim. Antalya'da bir turizm firmasında yazılım geliştirme
uzmanı olarak çalışmaktayım.









[...] önceki yazımızda (JSF ve Richfaces) netbeans kullanıyorduk. Netbeans’e facelets desteği kazandırmıştık. Şimdi bu [...]