Java Server Faces (JSF) Uygulaması Oluşturmak

JAVA SERVER FACES (JSF) UYGULAMASI OLUŞTURMAK VE KULLANMAK

Java Server Faces Logo

GEREKSİNİMLER VE SUNDUKLARIMIZ

1- Eclipse IDE sini sisteminize yükleyiniz.

2- Apache Tomcat 9 Server i Yükleyiniz.

Bir jsf projesinin nasıl çalıştığı ve kullanılacağı hakkında bilgileri aşağıda anlattık, ancak hazır kodlara hemen erişmek isteyenler için github sitemden kodları temin edebilirler

https://github.com/muhammedali55/JavaEE_Ilk_JSF_Uygulamasi

Java Server Faces (JSF) Nedir Anlatır mısınız?

JSF, Java EE dünyasında web tabanlı dinamik kullanıcı arayüzleri geliştirilmesi iş ve işlemlerini kolaylaştırmayı amaçlayan JSP üzerinde konumlandırılmış Java tabanlı bir web uygulama çatısıdır, Ayrıca;

Java Server Faces (JSF), Dinamik(kullanıcı etkileşimli çalışma zamanında değişebilen) web sayfalarında kullanılmakta olan UI(User Interfaces) bileşenlerinin sunucu tarafı Container  ları ile yönetilmesini kolaylaştıran bir MVC web yapısıdır.

Her ne kadar jsf bir mvc web yapısı olsa da MVC yapısına farklı bir yaklaşımla Controller à View yönünü View -> Controller şeklinde betimler ve ayrıca bir View in birden fazla Controller ile iletişime geçebilmesine olanak tanımaktadır.

JSF kodlamak için, temel java se eğitimine sahip olmanız gerekmektedir. Ayrıca; web tasarımı ve frontend kodlaması için, HTML CSS, JavaScript, Ajax vs. teknolojiler hakkında bilgi sahibi olmak Gerekmektedir.

Java Server Faces (JSF) Kurulum Aşamaları nelerdir ?

Kurulum işlemlerini sırası ile takip ederek tamamlayabilirsiniz.

  1. İlk olarak  Java Development Kit(JDK)’ i indirerek sisteminize kurmanız gerekmektedir.
  2. Java kurulum dizininin(C:\Program Files\Java\jdk1.8.0_171), Denetim Masası -> Sistem -> Gelişmiş Sistem Ayarları -> Ortam Değişkenleri penceresinde yeni bir sistem değişkeni olarak eklenmesi gerekmektedir.(JAVA_HOME)
  3. Kodlamayı Eclipse IDE si ile yapacağımız için sisteminizde kurulu olması gereklidir.
  4. Son olarak ta Apache Tomcat in indirilecek bir kök dizin(C: ya da D:) içine açılması gerekmektedir.

JDK:

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

ECLIPSE:

http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/2018-09/R/eclipse-jee-2018-09-win32-x86_64.zip

APACHE TOMCAT:

http://ftp.itu.edu.tr/Mirror/Apache/tomcat/tomcat-9/v9.0.12/bin/apache-tomcat-9.0.12-windows-x64.zip

Java Server Faces (JSF) Mimarisi

JSF, MVC(Model-View-Controler) tasarım desenini örnek alır, burada Modeller ile veri taşınır ve veri girişleri yapılır. View ler kullanıcı arayüzünü tanımlar. Controller, jsf tarafında Bean dediğimiz yapıya denk gelir ve uygulamanın iş katmanıdır ve tüm süreci yönetir.

MVC nin genel amacı kod geliştiricilerin temel yeteneklerine odaklanmak ve core kısmı yazmalarını kolaylaştırmaktır. Web tasarımcılarının da kullanıcı arayüzlerine konsantre olarak controller dan bağımsız burayı geliştirmelerini sağlamaktır.

Bir JSF projesinin işleyiş şekli yaklaşık olarak şöyledir.

Java Server Faces Mimarisi

Java Server Faces (JSF) Life Cycle

JSF, yaşam döngüsünde yüklü sayfadan bir istek geldiğinde, UI bileşenlerinde bulunan değerler FacesContex tarafından yüklenir, bileşen ağaçları oluşturulur, yerel değişkenlerle gelen değerler doğrulanır ve ilgili modellere yüklenir, işlemler gerçekleştirildikten sonra sayfa ya yönlenir yada aynı sayfa tekrar bileşenleri set edilerek yüklenir, sayfada bulunan statik bileşenler ve değişmeyen değerler tekrar yüklenmez ve sayfa render edilir.

Java Server Faces Yaşam Döngüsü

 

 

Hadi İlk JSF Uygulamasını Yazmaya Başlayalım

JSF in farklı sürümleri bulunmaktadır ve java nın belli sürümleri için geliştirilmiştir. Bu nedenle java ee tarafında kodlama yaparken dikkat edilmesi gereken konulardan birisi de bu uyumluluklardır.

JSF 2.2 kullanıcı arayüz standartı 21 Mayıs 2013 te yayınlanmış ve Java EE 7 için kullanılmaktadır.

JSF 2.3 17 Nisan 2017 tarihinde yayınlanmış ve Java EE 8 üzerinde çalışmaktadır.

Şimdi ilk jsf projemizi oluşturmak üzere eclipse uygulamasını açalım ve aşağıda belirtilen adımları takip edelim

1- File -> New -> Dynamic Web Project

Java Server Faces Proje Açmak

2- Açılan pencerede proje ismi yazılır, Apache Tomcat server olarak seçilir ve configurasyon ayarlarından JavaServer Faces seçilerek ilerlenir.

Java Server Faces Proje Açmak 2

3- İlerlenen sayfa da web.xml in eclipse tarafından projeye eklenmesi için ilgili seçeneği tikliyoruz

 Java Server Faces Proje Açma 3.

4- Son olarak ta açılan sayfa da projeye bu aşamada hiçbir kütüphane eklemeyeceğimiz için implemanasyon işlemini disable yapıyoruz. URL map patern ayarlarını *.jsf olacak şekilde değiştiriyoruz.

Java Server Faces Proje Açmak 4

5- Artık Java Server Faces (JSF) projemiz açıldı, projemize eklememiz gereken jar ları temin etmek üzere projemizi maven projesi haline getiriyoruz.  Projemizin üzerine sağ tıklayarak Configure -> Convert to Maven Project diyerek gerekli işlemleri tamamlıyoruz.

Java Server Faces Proje Açmak 5

6- Projemizi maven projesine çevirdiğimize göre jsf uygulamaları için gerekli olan depencies leri eklememiz gereklidir.

<dependency>

<groupId>javax.faces</groupId>

<artifactId>javax.faces-api</artifactId>

<version>2.3</version>

<scope>compile</scope>

</dependency>

<dependency>

<groupId>org.glassfish</groupId>

<artifactId>javax.faces</artifactId>

<version>2.3.0</version>

<scope>compile</scope>

</dependency>

7- Gerekli jar lar da yüklendiğine göre artık ilk jsf sayfasını ekleyebiliriz. Web Content e sağ tıklayarak New -> HTML File

Java Server Faces Proje Açmak 7

7.2-. Açılan pencerede File Name kısmına index.xhtml yazarak ilerliyoruz.

 Java Server Faces Proje Açmak 8

8- Yeni açılan sayfa da eclipse bize otomatik olarak ekleyebilmemiz için hazır Java EE Şablonlarını sunuyor. Bizde En üstte ki şablonu seçerek bitiriyoruz.  Sonrasında açılan xhtml sayfasını aşağıdaki şekilde düzeltiyoruz.

Java Server Faces Proje Açmak 9

Java Server Faces Proje Açmak 10

9- Artık projemizi çalıştırma zamanı geldi. İndex.xhtml dosyasına sağ tıklayarak; Run As -> Run on Server seçeneği ile devam ediyoruz. Açılan sayfa de finish deyip bitiriyoruz ve uygulamamız çalıştı.

Java Server Faces Proje Açmak 11

Java Server Faces Proje Açmak 12

Ve işte Artık projemiz çalışıyor.

Java Server Faces Proje Açmak 13