Struts vs Spring MVC
Struts çerçevesi, Java EE web uygulamalarını geliştirmek için ilk web uygulama çerçevelerinden biridir. Bahar, açık kaynaklı bir uygulama çerçevesidir. Spring çerçevesinin başlamasından bir süre sonra, geliştiriciler Struts'ta algıladıkları bazı sınırlamaları ele almayı umarak Spring çerçevesine bir MVC çerçevesi ekledi. Ancak birkaç yıl sonra Struts2 (veya Struts sürüm 2) geldi ve tamamen farklı ve son derece gelişmiş bir web uygulama çerçevesiydi. Şu anda, hem Struts hem de Spring MVC dünyada Java EE uygulamaları geliştirmek için çok yoğun bir şekilde kullanılıyor.
Struts nedir?
Struts (Apache Struts olarak da bilinir), Java'da yazılmış ve Java EE web uygulamalarını geliştirmek için tasarlanmış bir platformlar arası açık kaynaklı çerçevedir. Struts, MVC (Model-View-Controller) mimarisinin kullanımını teşvik eder. Java Servlet API'sinin bir uzantısıdır. Craig McClanahan, Struts'un orijinal yaratıcısıdır. Başlangıçta Jakaratha Struts olarak biliniyordu ve Apache Yazılım Vakfı'nın Jakarta Projesi kapsamında sürdürülüyordu. Mevcut kararlı sürümü Mayıs 2011'de piyasaya sürülen 2.2.3 sürümüdür. Apache License 2.0 altında yayınlandı. Struts çerçevesine isteğe bağlı bir çerçeve denir ve üç ana bileşenden oluşur: bir istek işleyici, bir yanıt işleyici ve bir etiket kitaplığı. Standart URI (Tekdüzen Kaynak Tanımlayıcısı) bir istek işleyiciyle eşlenir. Yanıt işleyicisi kontrolü aktarmaktan sorumludur. Formlarla etkileşimli uygulamalar oluşturmak için etiket kitaplığı tarafından sunulan özellikler kullanılabilir. Struts, REST uygulamalarını ve SOAP, AJAX vb.Gibi çeşitli teknolojileri destekler..
Bahar MVC nedir?
Bahar, açık kaynaklı bir uygulama çerçevesidir. Rod Johnson tarafından geliştirildi ve ilk sürüm 2004 yılında piyasaya sürüldü. Bahar 3.0.5, Bahar çerçevesinin geçerli sürümüdür. Apache 2.0 lisansı ile lisanslanmıştır. Herhangi bir Java uygulaması, Spring çerçevesinin temel özelliklerini kullanabilir. Bahar çerçevesinde birkaç modül vardır ve MVC bunlardan biridir. Bahar MVC çerçevesi orijinal planlarının bir parçası değildi. Aslında, Bahar geliştiricilerinin kendi MVC çerçevelerini bulmalarının nedeni Struts (versiyon 1) ve diğer benzer çerçevelerde eksiklik olarak gösterdikleri şeye çözümler sunmaktı. Özellikle, sunum katmanı, istek işleme katmanı ve model arasındaki ayrım eksikliğini gidermek istediklerini söylediler. Spring MVC aynı zamanda isteğe bağlı bir web uygulama çerçevesidir.
Struts ve Spring MVC arasındaki fark nedir?
Spring MVC ve Struts, Java EE web uygulamalarını geliştirmek için kullanılan iki popüler web uygulaması çerçevesi olmasına rağmen, farklılıkları vardır. Aslında, Spring MVC Struts (versiyon 1) 'deki bazı kısıtlamaları gidermek için geliştirilmiştir. Ancak Struts2, sürüm 1'den oldukça gelişmiş bir çerçevedir (aynı kod tabanını bile paylaşmazlar) ve bu nedenle Spring MVC ve Structs2 oldukça karşılaştırılabilir.
Spring MVC'nin ana avantajlarından biri, JSP / JSTL, Fayans, FreeMaker, Excel, PDF ve JSON gibi birçok görünüm seçeneğiyle sorunsuz entegrasyonun mümkün olmasıdır. Ancak Struts'tan farklı olarak, Spring MVC yerleşik AJAX desteği sağlamaz (üçüncü taraf AJAX kütüphanesini kullanmanız gerekir).
Nihayetinde, her ikisi de oldukça olgun çerçeveler olarak kabul edilir ve ikisi arasında seçim yapmak kişisel tercihe bağlıdır. Burada, strutlara karşı olumsuz duygular varsa, bunların sadece Struts sürüm 1'de bulunan (şimdi eski olarak kabul edilir) eksikliklerden kaynaklandığını belirtmek önemlidir..