Perbezaan Antara Struts Dan Struts2

Perbezaan Antara Struts Dan Struts2
Perbezaan Antara Struts Dan Struts2

Video: Perbezaan Antara Struts Dan Struts2

Video: Perbezaan Antara Struts Dan Struts2
Video: Struts 2 Урок 07 - ValueStack 2024, November
Anonim

Struts vs Struts2

Struts (juga dikenal sebagai Apache Struts atau Struts 1) adalah kerangka sumber terbuka lintas platform yang ditulis di Java, yang ditujukan untuk mengembangkan aplikasi web Java EE. Itu adalah salah satu kerangka aplikasi web Java EE awal. Tetapi beberapa tahun kemudian, Struts2 (atau Struts versi 2) tiba, dan ini adalah kerangka aplikasi web yang sangat berbeza dan sangat baik. Ini telah mengatasi beberapa masalah yang dianggap sebagai kekurangan pada versi awal. Sekarang, Struts2 digunakan sangat banyak untuk mengembangkan aplikasi Java EE di dunia.

Apa itu Struts?

Kerangka Struts (Struts 1) adalah salah satu kerangka aplikasi web awal untuk mengembangkan aplikasi web Java EE. Kerangka Struts mendorong penggunaan seni bina MVC (Model-View-Controller). Ini adalah lanjutan dari API Servlet Java. Craig McClanahan adalah pencipta Struts yang asal. Pada awalnya dikenali sebagai Jakaratha Struts dan dikendalikan di bawah Projek Yayasan Perisian Apache Jakarta. Ia dikeluarkan di bawah Apache License 2.0. Strut Struts disebut kerangka berdasarkan permintaan, dan terdiri dari tiga komponen utama: pengendali permintaan, pengendali respons dan perpustakaan tag. URI standard (Uniform Resource Identifier) dipetakan ke pengendali permintaan. Pengendali respons bertanggungjawab untuk memindahkan kawalan. Untuk membuat aplikasi interaktif dengan bentuk, fitur yang ditawarkan oleh perpustakaan tag dapat dimanfaatkan. Struts menyokong aplikasi REST dan pelbagai 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 sama sekali berbeza dengan Struts. Sebenarnya, mereka tidak berkongsi asas kod yang sama kerana Struts2 hanyalah hasil penamaan semula kerangka WebWork 2.2 (iaitu komuniti WebWork dan Struts yang bekerja secara berasingan untuk beberapa waktu akhirnya berganding bahu untuk muncul dengan Struts2). Rilis stabilnya sekarang adalah versi 2.2.3, yang dirilis pada Mei 2011.

Apakah perbezaan antara Struts dan Struts2?

Salah satu dari banyak masalah kerangka Struts adalah perlunya pengaturcaraan ke kelas abstrak dan bukannya antara muka. Ini diselesaikan dengan kerangka Struts2. Sebagai contoh, kerangka Struts memerlukan kelas Tindakan untuk diperluas dari kelas dasar abstrak, tetapi Struts2 Actions dapat melaksanakan antara muka Action. Kerana perbezaan dalam model threading antara dua versi masalah keselamatan thread yang muncul dalam kerangka Struts mengenai objek Tindakan tidak berlaku dalam kerangka Struts2. Sebabnya ialah objek Struts2 Action dibuat untuk setiap permintaan, sementara kerangka Action in Struts hanya memiliki satu instance untuk menangani semua permintaan untuk Action tersebut. Tidak seperti kerangka Actions in Struts, Struts2 Actions tidak bergantung pada Servlet API.

Kebolehpercayaan rangka Struts2 lebih tinggi berbanding kerangka Struts. Anda boleh menguji Struts2 Actions hanya dengan mengikuti tiga langkah: instantiasi, menetapkan sifat dan menggunakan kaedah. Menuai input lebih mudah dalam rangka Struts2 kerana sifat Action digunakan sebagai sifat input, tanpa harus menyimpan objek input kedua. Selain sokongan untuk integrasi JSTL (yang terdapat dalam Struts), kerangka Struts2 dapat menggunakan OGNL yang lebih kuat dan ekspresif (Objek Grafik Notasi Bahasa). Untuk penukaran jenis, Strut dan Strut2 masing-masing menggunakan Commons-Beanutils dan OGNL. Kerana penambahbaikan ini, kerangka Struts2 dianggap sebagai rangka kerja yang sangat matang dan sangat popular di kalangan pengaturcara Java EE. Sebaliknya, rangka Struts kini dianggap usang.

Disyorkan: