Struts vs Spring MVC
Rangka kerja Struts ialah salah satu rangka kerja aplikasi web awal untuk membangunkan aplikasi web Java EE. Spring ialah rangka kerja aplikasi sumber terbuka. Beberapa ketika selepas pengenalan rangka kerja Spring, pembangun menambah rangka kerja MVC pada rangka kerja Spring, dengan harapan dapat menangani beberapa batasan yang mereka anggap dalam Struts. Tetapi beberapa tahun kemudian, Struts2 (atau Struts versi 2) tiba, dan ia adalah rangka kerja aplikasi web yang berbeza dan sangat dipertingkatkan. Kini, kedua-dua Struts dan Spring MVC sedang digunakan dengan sangat banyak untuk membangunkan aplikasi Java EE di dunia.
Apakah itu Struts?
Struts (juga dikenali sebagai Apache Struts) ialah rangka kerja sumber terbuka merentas platform yang ditulis dalam Java, yang bertujuan untuk membangunkan aplikasi web Java EE. Struts menggalakkan penggunaan seni bina MVC (Model-View-Controller). Ia adalah lanjutan daripada Java Servlet API. Craig McClanahan ialah pencipta asal Struts. Pada mulanya ia dikenali sebagai Jakaratha Struts, dan dikekalkan di bawah Projek Jakarta Yayasan Perisian Apache. Keluaran stabil semasa ialah versi 2.2.3, yang dikeluarkan pada Mei, 2011. Ia dikeluarkan di bawah Lesen Apache 2.0. Rangka kerja Struts dipanggil rangka kerja berasaskan permintaan, dan ia terdiri daripada tiga komponen utama: pengendali permintaan, pengendali respons dan perpustakaan tag. URI Standard (Pengecam Sumber Seragam) dipetakan kepada pengendali permintaan. Pengendali tindak balas bertanggungjawab untuk memindahkan kawalan. Untuk mencipta aplikasi interaktif dengan borang, ciri yang ditawarkan oleh perpustakaan tag boleh digunakan. Struts menyokong aplikasi REST dan pelbagai teknologi seperti SOAP, AJAX, dll.
Apakah Spring MVC?
Spring ialah rangka kerja aplikasi sumber terbuka. Ia telah dibangunkan oleh Rod Johnson,, dan versi pertama dikeluarkan pada tahun 2004. Spring 3.0.5 ialah versi semasa rangka kerja Spring. Ia dilesenkan di bawah lesen Apache 2.0. Mana-mana aplikasi Java boleh menggunakan ciri teras rangka kerja Spring. Terdapat beberapa modul dalam rangka kerja Spring, dan MVC adalah salah satu daripadanya. Rangka kerja Spring MVC bukan sebahagian daripada rancangan asal mereka. Sebenarnya, sebab pembangun Spring menghasilkan rangka kerja MVC mereka sendiri adalah untuk menyediakan penyelesaian kepada perkara yang mereka tunjukkan sebagai kekurangan dalam Struts (versi 1) dan rangka kerja lain yang serupa. Khususnya, mereka berkata bahawa mereka ingin menangani kekurangan pemisahan antara lapisan pembentangan, lapisan pengendalian permintaan dan model. Spring MVC juga merupakan rangka kerja aplikasi web berasaskan permintaan.
Apakah perbezaan antara Struts dan Spring MVC?
Walaupun Spring MVC dan Struts ialah dua rangka kerja aplikasi web popular yang digunakan untuk membangunkan aplikasi web Java EE, ia mempunyai perbezaannya. Malah, Spring MVC telah dibangunkan untuk menangani beberapa batasan dalam Struts (versi 1). Tetapi Struts2 ialah rangka kerja yang lebih baik daripada versi 1 (mereka bahkan tidak berkongsi asas kod yang sama), dan oleh itu, Spring MVC dan Structs2 sangat setanding.
Salah satu kelebihan utama Spring MVC ialah kemungkinan untuk mempunyai penyepaduan yang lancar dengan banyak pilihan paparan seperti JSP/JSTL, Tiles, FreeMaker, Excel, PDF dan JSON. Tetapi, tidak seperti Struts, Spring MVC tidak menyediakan sokongan AJAX terbina dalam (perlu menggunakan perpustakaan AJAX pihak ketiga).
Akhirnya, kedua-duanya dianggap sebagai rangka kerja yang sangat matang, dan memilih antara keduanya bergantung pada pilihan peribadi. Adalah penting untuk diperhatikan di sini bahawa jika terdapat sebarang perasaan negatif terhadap tupang, itu hanya disebabkan oleh kekurangan yang ditemui dalam Struts versi 1 (yang kini dianggap usang).