Struts vs Spring MVC
Struts Framework adalah salah satu kerangka kerja aplikasi web awal untuk mengembangkan aplikasi web Java EE. Spring adalah kerangka kerja aplikasi open source. Beberapa waktu setelah pengenalan kerangka kerja musim semi, para pengembang menambahkan kerangka kerja MVC ke kerangka kerja musim semi, berharap untuk mengatasi beberapa batasan yang mereka rasakan dalam struts. Tetapi beberapa tahun kemudian, Struts2 (atau Struts Versi 2) tiba, dan itu benar -benar berbeda dan sangat ditingkatkan kerangka aplikasi web. Sekarang, baik Struts dan Spring MVC digunakan sangat banyak untuk mengembangkan aplikasi Java EE di dunia.
Apa itu struts?
Struts (juga dikenal sebagai Apache Struts) adalah kerangka kerja open source lintas platform yang ditulis dalam Java, yang dimaksudkan untuk mengembangkan aplikasi web Java EE. Struts mendorong penggunaan arsitektur MVC (model-view-controller). Ini adalah perpanjangan dari Java Servlet API. Craig McClanahan adalah pencipta asli Struts. Awalnya itu dikenal sebagai Jakaratha Struts, dan dikelola di bawah Jakarta Project dari Apache Software Foundation. Rilis stabil saat ini adalah versi 2.2.3, yang dirilis pada Mei 2011. Itu dirilis di bawah lisensi Apache 2.0. Struts Framework disebut kerangka kerja berbasis permintaan, dan terdiri dari tiga komponen utama: penangan permintaan, penangan tanggapan, dan perpustakaan tag. URI Standar (Pengidentifikasi Sumber Daya Seragam) dipetakan ke penangan permintaan. Handler respons bertanggung jawab untuk mentransfer kontrol. Untuk membuat aplikasi interaktif dengan formulir, fitur yang ditawarkan oleh pustaka tag dapat digunakan. Struts mendukung aplikasi REST dan berbagai teknologi seperti SOAP, AJAX, dll.
Apa itu Spring MVC?
Spring adalah kerangka kerja aplikasi open source. Ini dikembangkan oleh Rod Johnson ,, dan versi pertama dirilis pada tahun 2004. Musim semi 3.0.5 adalah versi kerangka kerja musim semi saat ini. Itu dilisensikan di bawah Apache 2.0 lisensi. Aplikasi Java apa pun dapat menggunakan fitur inti dari kerangka musim semi. Ada beberapa modul dalam kerangka kerja musim semi, dan MVC adalah salah satunya. Kerangka kerja MVC musim semi bukan bagian dari rencana awal mereka. Faktanya, alasan bahwa pengembang musim semi datang dengan kerangka kerja MVC mereka sendiri adalah untuk memberikan solusi untuk apa yang mereka tunjukkan sebagai kekurangan dalam struts (versi 1) dan kerangka kerja serupa lainnya. Secara khusus, mereka mengatakan bahwa mereka ingin mengatasi kurangnya pemisahan antara lapisan presentasi, lapisan penanganan permintaan, dan model. Spring MVC juga merupakan kerangka kerja aplikasi web berbasis permintaan.
Apa perbedaan antara struts dan spring MVC?
Meskipun Spring MVC dan Struts adalah dua kerangka kerja aplikasi web yang populer yang digunakan untuk mengembangkan aplikasi web Java EE, mereka memiliki perbedaan. Faktanya, Spring MVC dikembangkan untuk mengatasi beberapa batasan dalam Struts (versi 1). Tetapi Struts2 adalah kerangka kerja yang sangat lebih baik daripada versi 1 (mereka bahkan tidak berbagi basis kode yang sama), dan oleh karena itu, pegas MVC dan structs2 sangat sebanding.
Salah satu keunggulan utama Spring MVC adalah dimungkinkan untuk memiliki integrasi tanpa batas dengan banyak opsi tampilan seperti JSP/JSTL, Tiles, Freemaker, Excel, PDF dan JSON. Tapi, tidak seperti Struts, Spring MVC tidak memberikan dukungan AJAX bawaan (perlu menggunakan Perpustakaan AJAX pihak ketiga).
Pada akhirnya, keduanya dianggap sebagai kerangka kerja yang sangat matang, dan memilih di antara keduanya datang ke preferensi pribadi. Penting untuk dicatat di sini bahwa jika ada perasaan negatif terhadap struts, mereka hanya karena kekurangan yang ditemukan dalam struts versi 1 (yang sekarang dianggap usang).