JPA JSF MySQL PrimeFaces Spring

JSF Projesi-Basit Bir Blog Projesi

Merhaba arkadaşlar. Bu yazıda sizlere kendimi geliştirmek için yazdığım bir projeyi anlatacağım.

Bu projede ben JSF ve ilave bazı teknolojiler ile bir basit blog projesi yazdım.  Proje’de çoğumuzun kullandığı WordPress’i örnek aldım ve ona benzer şekilde bir yapı oluşturdum.

Projede kullandığım teknolojiler şunlardır:

  • Bağımlılıkların Kolay Yönetilebilmesi İçin Maven
  • Java’nın Standart Web Çatısı Olan JSF
  • JSF’nin Kullanışlı Ve Sağlam Kütüphanesi PrimeFaces
  • Bir ORM Çatısı Olan JPA (Sağlayıcı Olarak EclipseLink)
  • Sınıflar Arası Nesne Yönetimi İçin Spring
  • Güvenlik Mekanizması İçin Spring Security
  • Popüler Veritabanı Yazılımı MySql

Projede öncelikle kullanıcı sisteme kayıt oluyor,akabinde Spring Security ile korunmuş olan içerik ekleme sayfasında yazısını yazıyor,isterse önizleme ile metnin çıktısını görüyor isterse yayınlama ile direk yazıyı veri tabanına yolluyor. Ana sayfa, oturum açma sayfası ve kayıt olma sayfası herkesin erişimine açıkken içerik ekleme ve önizleme sayfaları sadece yetkilendirilmiş kullanıcılara açık.

Projenin kaynak kodlarına https://github.com/ilkgunel/BlogProjesi linkinden ulaşabilirsiniz. Ayrıca JSF dersleri içinde Spring Security konusunu henüz anlatmadım. Onu da yakın zaman içinde anlatacağım.

Projenin Ekran Çıktıları

Ana sayfa açıldığında bizi sondan başa doğru sıralanmış yazılar karşılıyor.

 

Devamı İçin Tıklayın linkine tıkladığınızda Ajax ile sayfa güncellenip yazının tamamı sayfada görüntüleniyor.  Sayfayı yenilediğinizde sayfa eski haline dönmüyor. Sol üstteki Anasayfaya Dönün linkini kullanmak gerekiyor. Resimdeki yazı buradan alınmıştır. İlgilenenler linke tıklayıp okuyabilir.

İçerik ekleme sayfasına gitmeye çalıştığımda giriş yapmadığım için Spring Security beni oturum açma sayfasına yönlendirdi.

 

 

Kayıt olduğum kullanıcı adı şifreyi girip Giriş Yapın butonuna tıklıyorum ve içerik ekleyebilceğim sayfaya yönlendiriliyorum. 

 

 

Herhangi bir konuda bir içerik giriyorum ve akabinde Önizleyin butonuna tıklıyorum.

 

Önizleme sayfasında bana yazının nasıl göründüğüne dair bir izlenim sunuluyor.

 

Yazıyı Yayımlayın butonuna tıkladığımda gerçekleştirilen işlemin sonucu  butonların yanında yer alıyor.

 

Tekrar Ana Sayfaya döndüğümde en son eklenen yazı olduğu için ilk sırada yazının göründüğünü görüyorum.

 

Devamı İçin Tıklayın dedğimde yazılan içeriğin düzgün bir şekilde kaydediğini görüyorum.

Proje bu şekilde arkadaşlar. Siz de kendi makinanızda projeyi veri tabanı kullanıcı adı, şifre kısımlarını düzelterek çalıştırabilirsiniz. Yeni şeyler ekledikçe Github’a göndereceğim ve sizleri de yazılarım içinde bilgilendireceğim arkadaşlar. Örneğin yazıyı yayımladıktan sonra yazının kendine özel bir sayfaya sahip olmasını ve yazının bu özel sayfada görüntelenmesini yapmak istiyorum. WordPress’deki Yayımla butonu gibi.

Proje ile ilgili sormak istediğiniz bir şey olursa veya projeye bir katkı yapmak isterseniz [email protected] adresinden bana ulaşabilirsiniz.

Başka yazılarda görüşmek üzere sağlıcakla kalın.

  • Merhaba yanlış anlamayın ama bu jsf çok boş bir iş yani php varken jsf söz düşmez php ile yaptıgın 10 satırlık bir işi jsf ile 20 satırla yapılıyor php çok daha geçerli

    • Merhaba.
      Daha önce de buna benzer bir yorum gelmişti. İkisi amaç olarak, mimari olarak, community olarak vs. daha bir çok açıdan farklılar. Günümüz dünyasında çok fazla veri akışının, sürekli veri tabanı ile bilgi gönderip bilgi alan bankaların vs. projelerini PHP ile yapalım derseniz size gülerler.
      Velhasıl kelam taş yerinde ağırdır. PHP kendi kulvarında çok iyidir, Java EE kendi kulvarında.

    • Eray Erdin

      Eğer satır sayınızla kullanılabilirliğiniz doğru orantılıysa PHP’den daha çok Python’un Django’suna ya da Ruby On Rails’a bakmanızı öneririm. 🙂

      Üstelik SEO temelli web sitelerini htaccess’i elle düzeltmeden oluşturuyorsunuz. 🙂

      Ben kaynağı beğendim. Teşekkürler İlkay Bey. 🙂