Günümüzde, yazılımcıların seçebileceği birçok web frameworkü bulunmaktadır. Bunlardan bazıları opensource bazıları ise ticaridir. Struts 2 de bu frameworklerden bir tanesidir. Struts 2 WebWork ve Struts ın birleşimi ile ortaya çıkan bir frameworktür. Sturts 2 modern bir MVC uygulamasıdır.
MVC’ nin açılımı Model ( İş Mantığı ), View ( Sunum ), Controller ( Kontrol Yöneticisi ) dır. MVC, bir iş uygulamasında, Controller yöneticiliğinde, Model ve View tabakalarını yani veri ve sunumu birbirinden ayıran bir mimaridir. Peki struts 2 de MVC yapısı nasıl işlemektedir??
Örnek: Struts 2 framework ü ile hazırlanmış site içi arama uygulamasında, kullanıcı anahtar kelimeyi girer ve bu anahtar kelimeyi barındıran içeriklerin listesini ister
- İlk olarak MVC yapısındaki, Controller katmanı devreye girer, yani bizim FilterDispatcher olarak adlandırdığımız katman. FilterDispatcher objesi, kullanıcının isteğinin yolunu belirler ve ilgili struts 2 action ına yönlendirir.
- Yönlendirme işlemi yapılmadan önce herhangi bir interceptors (daha sonra bu konuda detaylı bir yazı yazacağım) tanımlaması varsa otomatik olarak bu interceptor lar çalışır.
- Artık işlem Model katmanına geçmiştir. Model katmanında arama action ı çalışır ve bir string döner. ( Model katmanında çalışan her action mutlaka bir string dönmelidir).
- Artık bu çekilen değeri veya değerleri ekranda kullanıcıya sunma işlemi başlar. İşde bu katmanda View katmanıdır.
- Fakat bu aşamda tekrar kullanıcı tarafından girilen requestler ,ki bizde sadece anahtar kelime var, sondan başa doğru interceptors tanımlamalarına dönerler. Bunun avantajı ek bir işlem yapmak istediğimizde rahatlıkla yapabilmemizi sağlamaktadır. ( Daha detaylı bilgiyi interceptor lar üzerine yazacağım yazımda bulabilirsiniz. )
- Döndürülen değerler JSP sayfasında gösterilecektir. Bu aşamada artık, sunucumuz kullanıcının browser ına bir sonuç göndermeye başlamıştır. Bu aşamada tahmin ettiğiniz gibi JSP, HTML’e dönüştürülür. Bu dönüştürme işlemini Struts 2 tagleri gibi tagler yapmaktadır. Artık kullanıcımız kendi browser ında belirlemiş olduğu anahtar kelime sonucunda bulunan sonuçları yada hata mesajını görecektir.
yukarıdaki örnekle struts 2 MVC döngüsünü de kısaca anlatmış olduk. İlerleyen günlerde uygulama yazdığınız zaman bu döngünün nasıl işlediğini daha iyi kavrayacaksınız.



Sürekli kullanılan bir örnek ile kısaca mvc yapısından bahsedilmiş. Ama gerçekten çok yararlı buldum. Çünkü bu sıralar bn de php framework çalışmaktayım. Kafamda bi şeyler daha da netleşti bu sayede.
Eline,diline sağlık abi