Perbezaan Antara Struts dan Struts2

Anonim

Struts vs Struts2

Struts (juga dikenali sebagai Apache Struts atau Struts 1) kerangka sumber yang ditulis di Jawa, yang bertujuan untuk mengembangkan aplikasi web Java EE. Ia merupakan salah satu rangka kerja aplikasi Java EE awal. Tetapi beberapa tahun kemudian, Struts2 (atau Struts versi 2) tiba, dan ia adalah rangka kerja aplikasi web yang sangat berbeza dan sangat baik. Ia telah menangani beberapa isu yang dianggap sebagai kekurangan dalam versi awal. Sekarang, Struts2 digunakan sangat banyak untuk membangunkan aplikasi Java EE di dunia.

Apa itu Struts?

Struts (Struts 1) merupakan salah satu rangka kerja aplikasi web awal untuk membangunkan aplikasi web Java EE. Rangka kerja Struts menggalakkan penggunaan seni bina MVC (Model-View-Controller). Ia adalah lanjutan API Java Servlet. Craig McClanahan adalah pencipta asal Struts. Pada mulanya ia dikenali sebagai Jakaratha Struts dan dikendalikan di bawah Projek Perisian Apache Jakarta. Ia dilancarkan di bawah Lesen Apache 2. 0. Kerangka Struts dipanggil kerangka berasaskan permintaan, dan ia terdiri daripada tiga komponen utama: pengendali permintaan, pengendali respons dan perpustakaan tag. URI Standard (Uniform Resource Identifier) ​​dipetakan ke petugas permintaan. Pengendali respons bertanggungjawab untuk memindahkan kawalan. Untuk membuat aplikasi interaktif dengan borang, ciri yang ditawarkan oleh perpustakaan tag boleh digunakan. Struts menyokong aplikasi REST dan pelbagai teknologi seperti SOAP, AJAX, dan lain-lain

Apa itu Struts2? Rangka kerja Struts dianggap mempunyai batasan tertentu (terutamanya kekurangan pemisahan antara lapisan persembahan, lapisan pengendalian permintaan dan model) oleh pemaju Java EE pada masa itu, dan akibatnya beberapa tahun kemudian Struts2 tiba. Sebenarnya, Struts2 benar-benar berbeza daripada Struts. Sebenarnya, mereka bahkan tidak berkongsi asas kod yang sama kerana Struts2 adalah hasil daripada penamaan semula WebWork 2. 2 kerangka kerja (komuniti WebWork dan Struts yang bekerja secara berasingan untuk beberapa waktu akhirnya menyertai tangan untuk menghasilkan Struts2). Siaran stabil semasa adalah versi 2. 2. 3, yang dikeluarkan pada bulan Mei 2011.

Apakah perbezaan antara Struts dan Struts2?

Salah satu daripada banyak masalah rangka kerja Struts adalah keperluan untuk pengaturcaraan kepada kelas abstrak dan bukannya antara muka. Ini telah diselesaikan oleh rangka kerja Struts2. Sebagai contoh, rangka kerja Struts memerlukan kelas Tindakan untuk dilanjutkan dari kelas asas abstrak, tetapi Tindakan Struts2 boleh melaksanakan antara muka Tindakan. Oleh kerana perbezaan dalam model threading antara dua versi isu-isu keselamatan thread yang muncul dalam rangka Struts mengenai objek Tindakan tidak berlaku dalam rangka Struts2.Alasannya adalah objek Tindakan Struts2 yang instantiated untuk setiap permintaan, manakala Tindakan dalam rangka Struts hanya mempunyai satu contoh untuk mengendalikan semua permintaan untuk Tindakan itu. Tidak seperti Tindakan dalam rangka Struts, Tindakan Struts2 tidak bergantung kepada API Servlet.

Kesesuaian rangka kerja Struts2 adalah lebih tinggi berbanding rangka kerja Struts. Anda boleh menguji Tindakan Struts2 hanya mengikuti tiga langkah: instantiasi, penetapan sifat dan penyerahan kaedah. Input penuaian lebih mudah dalam rangka Struts2 sebagai sifat Tindakan digunakan sebagai sifat input, tanpa perlu menyimpan objek input kedua. Selain daripada sokongan untuk integrasi JSTL (yang terdapat dalam Struts), rangka kerja Struts2 boleh menggunakan OGNL (Graph Language Object Notation) yang lebih berkuasa dan ekspresif. Untuk penukaran jenis, Strut dan Strut2 menggunakan Commons-Beanutils dan OGNL, masing-masing. Oleh kerana penambahbaikan ini, rangka kerja Struts2 dianggap sebagai rangka kerja yang sangat matang dan ia sangat popular di kalangan pemrogram Java EE. Sebaliknya, rangka kerja Struts kini dianggap usang.