penyangga2
Struts2 dikembangkan berdasarkan WebWork2. Seperti struts1, Struts2 juga termasuk dalam kerangka MVC. Namun satu hal yang perlu diperhatikan semua orang adalah meskipun perbedaan nama antara Struts2 dan struts1 tidak terlalu besar, gaya pengkodean Struts2 dan struts1 hampir berbeda. Jadi sekarang kita memiliki struts1, mengapa kita harus meluncurkan struts2. Terutama karena struts2 memiliki keunggulan sebagai berikut:
1>Dalam hal desain perangkat lunak, Struts2 tidak digabungkan erat dengan ServletAPI dan strutsAPI karena aplikasi Struts2 tidak bergantung pada ServletAPI dan strutsAPI. Desain Struts2 ini adalah desain non-intrusif, sedangkan Struts1 adalah desain intrusif.
publicclassOrderListActionextendsAction{
publicActionForwardexecute(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse)
throwsException{
}
}
2>Struts2 menyediakan interseptor, yang dapat digunakan untuk pemrograman AOP untuk mengimplementasikan fungsi seperti intersepsi izin.
3>Strut2 menyediakan konverter tipe, kita dapat mengubah parameter permintaan khusus menjadi tipe yang diperlukan. Di Struts1, jika kita ingin mencapai fungsi yang sama, kita harus mendaftarkan konverter tipe ke BeanUtil, implementasi yang mendasari Struts1.
4>Struts2 menyediakan dukungan untuk berbagai teknologi lapisan presentasi, seperti: JSP, freeMarker, Velocity, dll.
5>Verifikasi masukan Struts2 dapat memverifikasi metode yang ditentukan, yang memecahkan masalah jangka panjang Struts1.
6>Menyediakan implementasi manajemen file sumber daya internasional dalam lingkup global, cakupan paket, dan cakupan Tindakan.
Siapkan lingkungan pengembangan Struts2
1. Temukan file jar yang diperlukan untuk mengembangkan aplikasi Struts2
File jar minimum yang diperlukan untuk mengembangkan Struts2
struts-core-2.xxjar: Pustaka kelas inti kerangka kerja Struts2
xwork-2.xxjar: Perpustakaan kelas XWork, Struts2 dibangun di atasnya
ognl-2.6.jar: Untuk bahasa navigasi gambar (ObjectGraphNavigationLanguage), kerangka kerja Struts2 membaca dan menulis properti objek melaluinya
freemarker-2.3.x.jar: Templat label UI Struts2 ditulis menggunakan freeMarker
commons-logging-1.1.x.jar: Paket log yang dihasilkan oleh ASF. Kerangka kerja Struts2 menggunakan paket log ini untuk mendukung logging Log4J dan JDK1.4+.
komponen unggah file commons-filteupload-1.2.1.jar, file harus ditambahkan setelah versi 2.1.6
2. Tulis file konfigurasi Struts2
File konfigurasi default Struts2 adalah struts.xml. File ini perlu disimpan di WEB-INF/classes.
<?xmlversion="1.0"encoding="utf-8"?>
<!DOCTYPEstrutsPUBLIC".//ApatcheSoftwareFoundation//DTDStrutsConfiguration2.0//EN""http://struts.apatche.org/dtds/struts-2.0.dtd">
<penopang>
</penopang>
3. Tambahkan konfigurasi startup kerangka kerja Struts2MVC ke Web.xml
Di struts1.x, kerangka struts dimulai melalui Servlet. Di struts2, kerangka struts dimulai melalui Filter. Konfigurasinya di web.xml adalah sebagai berikut:
<filter>
<nama-filter>struts2</nama-filter>
<filter-class>org.apatche.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
<!--Sejak Struts2.1.3, FilterDispatcher berikut telah ditandai sebagai usang
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>-->
</filter>
<filter=pemetaan>
<nama-filter>struts2</nama-filter>
<pola-url>/*<pola-url>
</pemetaan filter>
Dalam metode init() StrutsPerpareAndExecuteFilter, file konfigurasi default struts.xml di jalur kelas akan dibaca untuk menyelesaikan operasi inisialisasi.
Pengenalan paket dalam konfigurasi Struts.xml
<packagename="itcast"namespace="/test"extends="struts-defult">
<actionname="helloworld"class="cn.itcast.action.HelloWorldAction"method="eksekusi">
<resultname="success">/WEB-INF/page/hello.jsp</result>
</aksi>
</paket>
Untuk menemukan file jar yang perlu dikembangkan, Anda perlu mendekompresinya: struts-2.3.8-all.gz
Atau struts-2.3.8-apps.gz menemukan file di bawah struts-2.3.8-all/struts-2.3.8/apps sebagai berikut:
Proyek kosong struts2-blank disediakan, dan kita dapat mengembangkan struts2 pada proyek ini.
Apa yang harus saya lakukan jika saya memerlukan dukungan file jar lain selama proses pengembangan?
Anda perlu menemukan file jar yang sesuai di /struts-2.3.8-all/struts-2.3.8/lib.
Cara mendekompresi proyek struts2-blank.war - salin ke webapps di Tomcat dan mulai Tomcat
Temukan startup.bat di Apache-Tomcat/bin dan klik untuk memulai
mengamati:
Anda dapat membuka browser IE
Masukkan http://localhost:8080/struts2-blank
Temukan file jar yang didekompresi: Apache-Tomcat/webapps/struts2-blank/WEB-INF/lib
Catatan bug:
1. java.net.BindException:Alamatsudahdigunakan:JVM_Bind
Analisis: Bug disebabkan oleh kucing jantan yang Anda gunakan tidak dimatikan sebelum dijalankan untuk kedua atau n kali.
Larutan:
Tutup saja Tomcat yang sudah dimulai.
HTTPStatus404-/demo/servlet/demo.do
Analisis: URL yang Anda minta tidak dapat ditemukan: servlet/demo.do
Larutan:
Periksa apakah URL Anda ada? Jika tidak ada, tambahkan sesuai bisnisnya.
3.
Tidak ada peta tindakan yang ditambahkan untuk nama tindakan demo.
Analisis: Tindakan demo yang sesuai tidak dapat ditemukan di sisi server
Demo.aksi
/csdn/demo.aksi
Hanya prompt: demo tidak ditemukan
demoaksi tidak ditemukan di /csdn
Serangga
Noresultdefinisiforactioncom.opensymphony.xwork2.ActionSupportandresultsuccess