Struts vs Struts2
Struts (juga dikenal sebagai Apache Struts atau Struts 1) adalah kerangka kerja open source lintas platform yang ditulis dalam Java, yang dimaksudkan untuk mengembangkan aplikasi web Java EE. Itu adalah salah satu kerangka kerja aplikasi web Java EE awal. Tetapi beberapa tahun kemudian, Struts2 (atau Struts Versi 2) tiba, dan itu adalah kerangka kerja aplikasi web yang sama sekali berbeda dan sangat lebih baik. Itu telah membahas beberapa masalah yang dianggap sebagai kekurangan dalam versi awal. Sekarang, Struts2 digunakan sangat banyak untuk mengembangkan aplikasi Java EE di dunia.
Apa itu struts?
Struts (Struts 1) Framework adalah salah satu kerangka kerja aplikasi web awal untuk mengembangkan aplikasi web Java EE. Struts Framework Mendorong Penggunaan Arsitektur MVC (Model-View-Controller). Ini adalah perpanjangan dari Java Servlet API. Craig McClanahan adalah pencipta asli Struts. Awalnya dikenal sebagai Jakaratha Struts dan dipelihara di bawah Proyek Jakarta dari Apache Software Foundation. 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 struts2?
Kerangka kerja struts dianggap mengandung batasan tertentu (terutama kurangnya pemisahan antara lapisan presentasi, permintaan penanganan dan model) oleh pengembang Java EE pada waktu itu, dan akibatnya beberapa tahun kemudian Struts2 tiba. Sebenarnya, Struts2 benar -benar berbeda dari struts. Faktanya, mereka bahkan tidak berbagi basis kode yang sama karena Struts2 hanyalah hasil dari mengganti nama webwork 2.2 kerangka kerja (i.e. Komunitas webwork dan struts yang bekerja secara terpisah untuk beberapa waktu akhirnya bergandengan tangan untuk datang dengan struts2). Rilis stabil saat ini adalah versi 2.2.3, yang dirilis pada Mei 2011.
Apa perbedaan antara struts dan struts2?
Salah satu dari banyak masalah kerangka kerja struts adalah perlunya pemrograman ke kelas abstrak alih -alih antarmuka. Ini diselesaikan dengan kerangka struts2. Misalnya, kerangka kerja Struts yang diperlukan kelas tindakan untuk diperpanjang dari kelas dasar abstrak, tetapi tindakan struts2 dapat menerapkan antarmuka tindakan. Karena perbedaan dalam model threading antara dua versi masalah keselamatan utas yang muncul dalam kerangka kerja struts mengenai objek tindakan tidak terjadi dalam kerangka struts2. Alasannya adalah objek tindakan Struts2 dipakai untuk setiap permintaan, sedangkan tindakan dalam kerangka kerja struts hanya memiliki satu contoh untuk menangani semua permintaan untuk tindakan itu. Berbeda dengan tindakan dalam kerangka kerja Struts, tindakan Struts2 tidak tergantung pada API Servlet.
Testability Framework Struts2 relatif lebih tinggi dari kerangka kerja Struts. Anda dapat menguji tindakan struts2 hanya mengikuti tiga langkah: instantiasi, mengatur properti dan doa metode. Input panen lebih mudah dalam kerangka struts2 karena properti tindakan digunakan sebagai properti input, tanpa harus menyimpan objek input kedua. Terlepas dari dukungan untuk integrasi JSTL (yang hadir dalam struts), Framework Struts2 dapat menggunakan OGNL yang lebih kuat dan ekspresif (Bahasa Notasi Grafik Objek). Untuk konversi jenis, strut dan strut2 menggunakan commons-beanutils dan ognl, masing-masing. Karena perbaikan ini, kerangka kerja Struts2 dianggap sebagai kerangka kerja yang sangat matang dan sangat populer di kalangan pemrogram Java EE. Di sisi lain, kerangka kerja struts sekarang dianggap usang.