Perbedaan Antara Struts dan Struts2

Perbedaan Antara Struts dan Struts2
Perbedaan Antara Struts dan Struts2

Video: Perbedaan Antara Struts dan Struts2

Video: Perbedaan Antara Struts dan Struts2
Video: Apa Perbedaan RAM, ROM, dan Internal Storage? 2024, Juli
Anonim

Struts vs Struts2

Struts (juga dikenal sebagai Apache Struts atau Struts 1) adalah kerangka kerja open source lintas platform yang ditulis dalam Java, yang ditujukan 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 sangat berbeda dan sangat ditingkatkan. Itu telah mengatasi beberapa masalah yang dianggap sebagai kekurangan dalam versi awal. Sekarang, Struts2 banyak digunakan untuk mengembangkan aplikasi Java EE di dunia.

Apa itu Struts?

Struts (Struts 1) framework adalah salah satu framework aplikasi web awal untuk mengembangkan aplikasi web Java EE. Kerangka kerja Struts 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 dikelola di bawah Proyek Jakarta Apache Software Foundation. Ini dirilis di bawah Lisensi Apache 2.0. Kerangka kerja struts disebut kerangka kerja berbasis permintaan, dan terdiri dari tiga komponen utama: penangan permintaan, penangan respons, dan pustaka tag. Standar URI (Uniform Resource Identifier) dipetakan ke penangan permintaan. Penangan respons bertanggung jawab untuk mentransfer kontrol. Untuk membuat aplikasi interaktif dengan form, fitur yang ditawarkan oleh tag library dapat dimanfaatkan. Struts mendukung aplikasi REST dan berbagai teknologi seperti SOAP, AJAX, dll.

Apa itu Struts2?

Kerangka Struts dianggap mengandung batasan tertentu (terutama kurangnya pemisahan antara lapisan presentasi, lapisan penanganan permintaan 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 kerangka kerja WebWork 2.2 (yaitu komunitas WebWork dan Struts yang bekerja secara terpisah untuk beberapa waktu akhirnya bergandengan tangan untuk menghasilkan 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 Struts adalah kebutuhan untuk pemrograman ke kelas abstrak daripada antarmuka. Ini diselesaikan oleh kerangka Struts2. Sebagai contoh, kerangka kerja Struts membutuhkan kelas Tindakan untuk diperluas dari kelas dasar abstrak, tetapi Tindakan Struts2 dapat mengimplementasikan antarmuka Tindakan. Karena perbedaan model threading antara dua versi masalah keamanan thread yang muncul dalam kerangka Struts mengenai objek Tindakan tidak terjadi dalam kerangka Struts2. Alasannya adalah objek Action Struts2 dipakai untuk setiap permintaan, sedangkan kerangka Action di Struts hanya memiliki satu instance untuk menangani semua permintaan untuk Action itu. Berbeda dengan Actions in Struts framework, Struts2 Actions tidak bergantung pada Servlet API.

Testabilitas framework Struts2 relatif lebih tinggi daripada framework Struts. Anda dapat menguji Struts2 Actions hanya dengan mengikuti tiga langkah: instantiasi, pengaturan properti, dan pemanggilan metode. Memanen input lebih mudah dalam kerangka Struts2 karena properti Action digunakan sebagai properti input, tanpa harus menyimpan objek input kedua. Terlepas dari dukungan untuk integrasi JSTL (yang hadir di Struts), kerangka Struts2 dapat menggunakan OGNL (Object Graph Notation Language) yang lebih kuat dan ekspresif. Untuk konversi tipe, Strut dan Strut2 masing-masing menggunakan Commons-Beanutils dan OGNL. Karena perbaikan ini, kerangka Struts2 dianggap sebagai kerangka kerja yang sangat matang dan sangat populer di kalangan programmer Java EE. Di sisi lain, kerangka Struts sekarang dianggap usang.

Direkomendasikan: