Spring

İlk Spring Uygulaması

Son yazımızda ortam kurulumundan bahsetmiştik. Bu yazımızda ise ilk uygulamamızı yazacağız.

Eclipse’i açtıktan sonra File->New->Project->Spring Project ile yeni bir Spring projesi oluşturmak için karşımıza şekildeki gibi bir ekran geliyor.sekil1

Bu ekranda en altta görülen Spring MVC project seçeneğini seçip, proje adını yazıp ileri diyoruz. Bu arada Spring MVC için gerekli dosyalar indiriliyor. 16 mb civarında.

 

Daha sonra gelen ekranda package ismini giriyoruz . (Örneğin com.baris.firstapp gibi) ve ileri dediğimizde Eclipse projeyi oluşturuyor.

Proje dizinini inceleyecek olursak;

homejsp

Java Resources : Oluşturduğumuz package ve sınıflar bulunuyor. Bu kısımda com.deneme.firstapp isimli package da HomeController.java isimli controller otomatik olarak oluşturuldu.

Libraries : Eclipse’in projeyi oluştururken eklediği kütüphaneler . İhtiyacımıza göre bizde direkt olarak kütüphane ekleyebiliriz . Fakat Maven projesi oluşturduğumuz için kütüphane eklemek yerine pom.xml dosyasına yazacağımız bir kaç satır kod ile gerekli kütüphaneyi Eclipse bizim yerimize indirecek.

pom.xml (Project Object Model) : Maven projelerinde , projeye eklenen kütüphaneleri yönetmek amacıyla her maven projesine bulunan dosyadır.

web.xml : JavaEE  projelerinde uygulama ile ilgili genel konfigürasyonları içerir.  (Örneğin Servlet tanımlama , filter tanımlama gibi )

servlet-context.xml : Spring projelerinde çalışma alanını , veritabanı bağlantısını ,  beanlar tanımlamayı gerçekleştirdiğimiz dosyadır.

view klasörü altında ise jsp dosyaları yer alıyor. Bu dosyaları görünüm dosyaları olarak adlandırabiliriz. Uygulamamızın arayüz kısmını bu dosyalar oluşturuyor. Projemizde home.jsp dosyası ve kodları aşağıdaki gibidir.web

Spring projeleri çalışmaya başladığında dispatcherServlet adında Spring’e at bir servlet çalışır ve controllerlar aracılığı ile gelen isteklere uygun cevap verilir. Şekilde görüldüğü üzere dispatcherServlet  deployment aşamasında 1 kez çalışır (load_on_start_up=1) . ve ilk isteği ‘/ ‘ ile HomeController daki  “home” methoduna yönlenirdirir.

home methodu ise return  değerindeki string ifadeye ait jsp dosyasını view klasörü içerisinde arar ve görüntüler.

Görüntülenecek jsp dosyasına birtakım veriler gönderilebilir.  model.addAttribute(“serverTime”, formattedDate ); methodu ile formattedDate  değişkenine atanmış olan  sistem saatini ilgili jsp ye gönderiyor.

view  dosyamızda ise üstteki şekilde görüldüğü üzere controllerdan gelen serverTime değişkenini  ${ serverTime}   şeklinde ekrana basabiliyoruz.Adsız

Uygulamayı çalıştırdığımızda şekildeki gibi bir ekran görüntüsü alıyoruz.

Bir sonraki yazıda görüşmek üzere…

 

 

 

 

 

 

 

 

PHP ile başladığım yazılım serüveninde okul bittiğinde kendimi Java da buldum 🙂 sanırım uzun süre böyle gidecek malum Java teknolojileri saymakla bitmez . Daha çok web alanında uygulamalar geliştirdim. Futbol ve tenis oynamaya, izlemeye bayılırım…
  • Ümit

    Ekran fotolarını biraz büyütürseniziyi olur. Sadece bir tanesi üzerine tıklanınca büyüyor. Bir de dersin devamı gelir inşalah. Şuan sitenizde JSF yazılarına bakıyorum. sonrasında JSP sonrasında Spring düşünüyorum. Genel kullanım olarak JSF-JSP-Hibernate-Spring’den hangileri birlikte kullanılıyor (mesela JSF & JSP gibi hibernate spring in JSF-JSP ile ilişkisini merak ediyorum) hangileri diğernin yaptığı işlevi yapıyor ? cevaplarsanız sevinirim.

  • Fotoğrafları düzenledim .

    Yazıların devamını kısa süre içinde yazmaya çalışacağım.

    JSF-JSP-Hibernate-Spring sorusuna gelicek olursak ;
    Bu teknolojiler hep birlikte bir projede de kullanılabilir veya herhangi biri ile tek başına bir proje de geliştirilebilir. Hangisini veya hangilerini kullanmanız gerektiğinizi belirlemeniz gerekiyor.

    Jsp : Java kullanarak dinamik web sayfaları geliştirmeye yardımcı olur . Jsp dosyalarında html içine yazdığımız jsp kodları sunucuda Servlet’e çevrilir.

    Jsf : Java için geliştirilmiş arayüz geliştirme çatısıdır(framework). Hazır bileşenler , tagler ile daha etkili arayüz geliştirebiliriz.

    Hibernate : Bir ORM (Object Relational Mapping) ‘ dir. Veritabanındaki tabloları , oluşturulan Java sınıflarına eşler. Daha az Sql sorgusu ile projeler geliştirebilirsiniz. Çok fazla join içeren durumlarda karmaşık hal almaya başlayabilir.

    Spring : Spring ise uygulama geliştirme çatısıdır. Java EE uygulamalarını daha kolay geliştirmek adına tasarlanmıştır. Kolay entegre edilen ve kullanılan JAVA API’leri ile Java EE uygulamaları geliştirmek daha kolay hale gelmiştir. Hem Hibernate , hem jsp , hem jsf teknolojileri Spring’e entegre ederek kullanılabilir. Hiç birini kullanmadan yalnızca Spring ile de uygulama geliştirilebilir.