Memahami Konfigurasi web.xml Spring MVC 2.5
Web.xml adalah deployment descriptor, yaitu dokumen xml standar untuk aplikasi J2EE yang di dalamnya dideskripsikan isi dari .war yang akan dibangun nanti. Nah, kali ini saya akan mencoba mengurai web.xml dari Spring MVC 2.5 sebagai gerbang awal untuk memahami Spring MVC 2.5. Adapun web.xml ini didapatkan dari generate langsung via Netbeans6.5. Berikut ini adalah isi dari web.xml :
[sourcecode language=’xml’]
<web-app version="2.5" xmlns=bagian ini sengaja dihilangkan>
contextConfigLocation
/WEB-INF/applicationContext.xml
org.springframework.web.context.ContextLoaderListener
dispatcher
org.springframework.web.servlet.DispatcherServlet
2
dispatcher
*.htm
30
redirect.jsp
[/sourcecode]
Oke, sekarang mari kita kupas satu-per-satu.
Application Context
[sourcecode language=’xml’]
contextConfigLocation
/WEB-INF/applicationContext.xml
[/sourcecode]
Bagian ini mendefinisikan letak dari application context-nya si-Spring. Secara default, application context Spring berada pada /WEB-INF/applicationContext.xml. Jika developer tidak menyatakannya dalam web.xml, secara otomatis ContextLoader akan mencari application context default tersebut.
Namun jika developer ingin mengubahnya, maka caranya adalah dengan membuat code di atas pada web.xml. Parameter contextConfigLocation akan mengisyaratkan ContextLoader untuk mencari application context pada lokasi baru. Yaitu lokasi yang didefinisikan pada param-value. Nama dan lokasi dari application context dapat diubah. Tentunya harus sesuai dengan kondisi yang sebenarnya dari nama dan lokasi xml application context yang digunakan.
Context Loader
[sourcecode language=’xml’]
org.springframework.web.context.ContextLoaderListener
[/sourcecode]
Context Loader adalah kelas yang digunakan untuk me-load file konfigurasi konteks (context configuration) selain dari yang telah di-handle oleh DispatcherServlet (akan dijelaskan sebentar lagi). Ada dua macam C0ntext Loader, yaitu ContextLoaderListener dan ContextLoaderServlet.
ContextLoaderServlet digunakan jika aplikasi dibangun pada web container yang menggunakan Servlet 2.2 (ke bawah) atau pada Servlet yang tidak menginisiasi listener sebelum servlet di-inisiasi. Jika menggunakan ContextLoaderServlet, maka bentuk code xml-nya sebagai berikut :
[sourcecode language=’xml’]
dispatcher
org.springframework.
web.context.ContextLoaderServlet
1
[/sourcecode]
Servlet dan Dispatcher Servlet-nya
[sourcecode language=’xml’]
dispatcher
org.springframework.web.servlet.DispatcherServlet
2
[/sourcecode]
Mendeklarasikan nama servlet, kelas yang digunakan untuk me-load servlet tersebut (DispatcherServlet), dan urutan pengeksekusian servlet ketika aplikasi dijalankan. Bahasanya seperti ini : akan digunakan dispacher-servlet.xml sebagai servlet yang di-load menggunakan DispacherServlet dan merupakan servlet kedua yang akan dijalankan oleh aplikasi.
Nama servlet dapat diganti. Kalau diganti, berarti nama file servletnya pun harus diganti. Misalkan, nama servletnya diganti menjadi “appraisal”, maka filenya pun menjadi appraisal-servlet.xml. Letak file xyz-servlet.xml ini berada di bawah direktori WEB-INF. Dalam satu aplikasi bisa jadi terdiri dari lebih dari satu servlet.
Servlet-Mapping
[sourcecode language=’xml’]
dispatcher
*.htm
[/sourcecode]
Bagian ini menjelaskan mengenai mapping (pemetaan) servlet. Servlet-name menandakan nama servlet yang akan di-mapping. Dan url-pattern menandakan pola url yang akan digunakan. Pola url ini dapat dibuat sekehendak developer. Tapi yang biasa digunakan adalah .html ataupun .htm yang menyiratkan bahwa file selanjutnya yang akan dibuka bertipe .htm/.html dengan maksud mengelabui pengguna aplikasi. (mudah-mudahan menjadi lebih ama. Amin..) Jika ada dua servlet yang digunakan dalam satu aplikasi maka kedua servlet tersebut harus dibuat servlet-mapping-nya. Servlet-name disesuaikan dengan nama servlet-nya. Dan url-mapping disesuaikan dengan pola url yang akan digunakan (boleh sama).
Welcome File
[sourcecode language=’xml’]
redirect.jsp
[/sourcecode]
Tampaknya bagian welcome-file ini sudah tidak asing lagi. Ya! Ini adalah pendeklarasian file yang pertama kali akan dieksekusi ketika aplikasi dijalankan.
Semoga bermanfaat.
Terbuka untuk saran dan koreksi.
::Buku Catatan Spring MVC 2.5::
0 Comments
wolvex
mba .. tanya dikit tentang spring mvc … masih newbie nih 🙂
untuk menampilkan hasil query database apakah tiap table di db saya harus dijadikan POJO terlebih dahulu ? masalahnya table2 saya bisa sampai 100 kolom, agak ngeri aja harus buat setter dan getter untuk tiap kolom 🙂
mohon pencerahannya
putrichairina
Betul! POJO perlu dibuat untuk mempertahankan konsep MVC. Nah, dengan konsep MVC ini, code jadi lebih rapi. Kalaupun nanti akan dikembangkan, jadi lebih mudah dibaca. Kalau pun tidak mau pakai POJO, silahkan.. Tapi tanggung sendiri akibatnya! Code jari ruwet bagai mie. (hehe.. pengalaman tidak memakai POJO nih!)
Kalau menggunakan Netbeans6.5 sudah bisa meng-generate POJO secara otomatis dengan menggunakan New->Entity Class From Database. Lalu pilih database dan table yang ingin dibuat POJOnya.
nambah ilmu
punya grafik atau contoh gambar MVC yang java J2SE(java desktop)?
bls ke nube_mania@yahoo.com yah
putrichairina
Ngga, punya. Sudah coba cari di Google? Tapi secara umum, konsepnya sama seperti web-application. Ada POJO (Model), lalu ada file java yang merepresentasikan View dan Controller-nya.
neoriz
kalo settingan untuk eclipse gimana mbak
mba pucha
Sepertinya sama saja, Neoriz. Kalau pun berbeda, pada cara meng-generate project. Kalau menggunakan Netbeans 6.5, tinggal klik-dan-klik. Kalau dengan Eclipse, perlu memastikan bahwa library-library Spring-nya sudah komplit.
CMIIW