Jump to content

Java Ee Için Yeni Bir Api: Mvc 1.0


Bitmap
 Share

Recommended Posts

Blog'uma yazdığım yazıyı sizinle de paylaşmak istedim, İyi okumalar :)

 

Mvc 1.0 nedir?

Java EE’de bir eksikliği gidermek üzere oluşturulan JSR 371 koduyla bildiğimiz bir web çatısı olarak Java EE 8 ile hayatımıza girecek bir framework var: Java EE8 MVC 1.0 API. Bu yazımda, uzun süredir ilgimi çeken MVC 1.0 ile ilgili anladıklarımı yazmaya çalışacağım.
Bu API ile Java EE çatısındaki istek-tabanlı(request-based) bir web çatısı eksikliği de çözülmüş oluyor. Yani Spring MVC gibi 3. Parti uygulamalar gerekmeksizin Java’da da istek tabanlı web uygulamaları kolaylıkla yazılabilecek.

Java içinde zaten MVC Framework yokmuydu?
Aslında Java EE içinde hali hazırda bir MVC web çatısı bulunmaktaydı : JSF(Java Server Faces). Ancak JSF bileşen tabanlı(component-based)ydı ve karmaşıklığı üst düzeydeydi. Haliyle öğrenmesi ve geliştirmesi biraz daha zaman alıyordu. Bunun yanında özelleştirmeleri uygulamak biraz daha zordu.
View olarak XHTML dosyalarını kullanıyor, Controller olarak ManagedBean’ler vardı ve tüm işlemler HTTP POST istekleri üzerinden yapılıyordu. GET isteklerini desteklemiyordu. Bir nevi masaüstü programı gibi çalışıyordu diyebiliriz.
MVC1.0 çatısı ise JAX-RS web servis altyapısı üzerine kurulu geliyor. Yani JAX-RS‘in bize sunduğu herşeyi kullanabiliyoruz.
Diğer taraftan View katmanında basit jsp dosyalarını kullanıyor. Controller olarak ise ise @Controller anotasyonu ile işaretlenmiş bir sınıf kullanmamız yeterli.
HTTP isteklerinin hepsini destekliyor ve HTTP üzerinden gelen isteklerini metotlar ile yakalayıp kullanıcıya cevap verebiliyoruz.  Bu da daha sade, daha az kod ile daha hızlı geliştirme yapmamızı sağıyor ve bakımı kolaylaştırıyor.
Bir uygulama yaparak nasıl çalıştığına bir göz atalım

Demo
Uygulamayı çalıştırabilmek için Glassfish Nightly Build'lerden birini kullanmamız gerekmektedir. Ben son sürümünü kullandım
Şimdi bir Hello World uygulaması yazalım.

1.pom.xml dosyamıza gereken bağımlılıkları ekliyoruz.
pom.png

2.Ardından bir adet Jax-RS Application Configuration Class tanımlıyoruz.
app.png
jax-rs kökdizin olarak mvc yazdım. İsterseniz siz değiştirebilirsiniz.
--------

3.Ardından ise Controller'ımızı hazırlıyoruz
ctrl.png?
Models class'ı javax.mvc içinde bulunan ve model verilerini view'a taşıyan classtır. Java CDI'ın @Inject anotasyonu ile Modelimize gerekli Nesneyi Runtime'da enjekte ediyoruz.
---------

4.Son olarakta message.jsp dosyamızı hazırlıyoruz
view.png?
Burada jsp'nin tüm nimetlerinden faydalanabilirsiniz. view içinde tamamen özgürsünüz. Models içine gönderdiğimiz tüm veriler değişken olarak jsp dosyamıza aktarılacaktır.
---
Sonuç olarak http://localhost:8080/JavaMVC1.0/mvc/message/kazimadresine girdiğimde ise 
res.png?
Şeklinde websayfasının yüklendiğini görüyoruz.
Eclipse içindeki browser'dan çalışmayabiliyor, Firefox ile görüntülediğimde ise sorunsuz çalıştığını gördüm.
---
Ozark (MVC 1.0) projesi şu anda Milestone1 aşamasında ve bir yıl içinde birçok özelllik (hata denetimi, form validation gibi) eklenmiş şekilde kullanıma sunulacak. Bu şekilde en azından temel kullanımını görmüş olduk.
Uygulamadaki Kullanılan kod parçalarına "bu adresten", tüm projeye ise "github üzerinden" ulaşabilirsiniz.

Edited by TeYyArEe
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...