Kerangka web Apache Struts adalah solusi open-source gratis untuk membuat aplikasi web Java.
Informasi lebih lanjut dapat ditemukan di beranda. Harap baca panduan keamanan, dan Javadocs dapat ditelusuri. Pertanyaan yang terkait dengan penggunaan Apache Struts harus diposting ke milis pengguna.
Aplikasi Web berbeda dari situs web konvensional di aplikasi web itu dapat membuat respons yang dinamis. Banyak situs web hanya mengirimkan halaman statis. Aplikasi web dapat berinteraksi dengan database dan mesin logika bisnis untuk menyesuaikan respons.
Aplikasi Web berdasarkan halaman JavaServer terkadang mengkoordinir kode basis data, kode desain halaman, dan kode aliran kontrol. Dalam praktiknya, kami menemukan bahwa kecuali kekhawatiran ini dipisahkan, aplikasi yang lebih besar menjadi sulit untuk dipertahankan.
Salah satu cara untuk memisahkan kekhawatiran dalam aplikasi perangkat lunak adalah dengan menggunakan arsitektur model-view-controller (MVC). Model ini mewakili kode bisnis atau basis data, tampilan mewakili kode desain halaman, dan pengontrol mewakili kode navigasi. Struts Framework dirancang untuk membantu pengembang membuat aplikasi web yang memanfaatkan arsitektur MVC.
Kerangka kerja menyediakan tiga komponen utama:
Arsitektur dan tag kerangka itu sesuai dengan kata kunci. Struts bekerja dengan baik dengan aplikasi istirahat konvensional dan dengan teknologi seperti SOAP dan AJAX.
Proyek Apache Struts adalah komunitas open source yang menciptakan dan memelihara kerangka kerja Apache Struts. Proyek ini terdiri dari beragam kelompok sukarelawan yang memiliki nilai-nilai bersama mengenai pengembangan sumber terbuka berbasis masyarakat kolaboratif. Proyek Apache Struts dengan bangga berbagi nilai -nilai ini dengan organisasi induk kami: Yayasan Perangkat Lunak Apache.
Proyek ini disebut "Struts" karena kerangka kerja dimaksudkan untuk melengkapi "dasar yang tidak terlihat" yang mendukung pengembangan aplikasi profesional. Struts menyediakan lem yang bergabung dengan berbagai elemen platform Java standar menjadi keseluruhan yang koheren. Tujuan kami adalah untuk memanfaatkan standar yang ada dengan memproduksi karya-karya yang hilang yang kami butuhkan untuk membuat aplikasi kelas perusahaan yang mudah dipertahankan dari waktu ke waktu.
Proyek Apache Struts menawarkan dua versi utama dari kerangka kerja Struts. Saat ini kami hanya mempertahankan versi Struts 2. Disarankan untuk meningkatkan semua aplikasi Struts 1.x ke Struts 2. Harap jangan memulai pengembangan aplikasi baru menggunakan Struts 1.x, karena kami tidak lagi menerbitkan tambalan keamanan.
Struts 2 awalnya dikenal sebagai Webwork 2. Setelah bekerja secara mandiri selama beberapa tahun, komunitas webwork dan struts bergabung untuk menciptakan Struts 2. Kerangka 2.x adalah pilihan terbaik untuk tim yang menghargai solusi elegan untuk masalah sulit.
Apache Struts adalah kerangka kerja web yang modern, terpelihara, dan berfitur lengkap. Karena telah ada selama bertahun -tahun dan menumbuhkan basis pengguna yang sangat besar, tidak mungkin itu akan hilang dalam waktu dekat. Tidak hanya itu, kami memiliki pengguna dan pengembang yang berdedikasi pada proyek. Apache Struts dilisensikan di bawah Lisensi Apache 2.0 dan ini tidak akan berubah. Kami mempertahankan IP yang bersih dan Anda "aman" untuk menggunakan proyek ini. Terkadang Anda tidak "aman" menggunakan proyek ketika perusahaan mengendalikan SCM. Akses ke kode sumber tidak berarti gratis. Dengan Apache Struts, Anda tidak hanya bebas untuk “melakukan apa yang Anda inginkan dengan itu”, Anda bahkan dapat berkontribusi (yang tidak selalu terjadi). Dan yang terbaik: Anda juga bisa menjadi bagian dari tim inti.
Biasanya sangat mudah untuk mengintegrasikan teknologi lain dengan struts Apache. Jika Anda menggunakan ORM seperti Apache Cayenne, Hibernate atau JDBC, Anda tidak akan memiliki batasan. Apache Struts bahkan tidak terlalu terikat pada teknologi frontend. Di masa lalu JSP, kemudian datang Velocity dan Freemarker. Saat ini Anda dapat membangun aplikasi web Anda hanya dengan html dan angularjs statis. Atau Anda mungkin ingin menggunakan sitemesh atau ubin. Ini semua bukan masalah karena mekanisme ekstensi yang elegan dan mudah digunakan oleh Struts.
Tidak seperti yang lain, kerangka kerja yang berorientasi komponen, kami tidak bertujuan untuk menyembunyikan sifat web yang tidak statis. Kami pikir sangat dapat diterima untuk membangun di atas siklus permintaan/respons. Kami juga berpikir pola MVC tidak terlalu buruk, hanya karena sudah tua. Bahkan, kami percaya arsitektur Apache Struts bersih dan mudah dimengerti.
Tentu saja, jika Anda ingin membangun komponen di sisi server yang dirender di sisi depan, kemungkinan besar Anda tidak ingin struts. Ini adalah pendekatan yang berbeda yang menjanjikan untuk mengurangi jumlah pengetahuan HTML/JavaScript yang diperlukan dan untuk membuat komponen yang dapat digunakan kembali untuk lapisan tampilan. Proyek seperti gawang dan permadani melayani tujuan ini dengan sangat baik. Seperti halnya setiap kerangka kerja, Anda perlu memutuskan apakah masuk akal bagi Anda untuk membangun komponen atau jika Anda lebih suka pendekatan struts.
Komunitas Apache Struts tidak menawarkan dukungan komersial dengan sendirinya.
Beberapa pengelola Apache Struts bekerja dengan Tidelift untuk memberikan dukungan komersial dan menginvestasikan waktu kerja berbayar dalam peningkatan kerangka kerja Apache Struts. Untuk informasi lebih lanjut, kunjungi sumber daya tidelift tentang Apache Struts