Cara mengatur Tomcat 8 untuk mengkompilasi ulang JSP pada halaman yang diketuk untuk server pengembangan

2

Saya memiliki server developement yang ada di Tomcat 6. Saya baru saja menginstal Tomcat 8, dan menyadari bahwa itu tidak lagi mengkompilasi ulang JSP pada halaman yang dihantam. Apa yang harus saya ubah di server.xml untuk membuatnya mengkompilasi ulang mereka di halaman hit?

Catatan: Seseorang menunjuk saya ke http://tomcat.apache.org/tomcat-8.0-doc/config/loader.html tapi saya tidak berpikir itu menjawab pertanyaan karena saya tidak peduli tentang memuat ulang toples atau file kelas di bawah /WEB-INF/classes/atau /WEB-INF/lib, hanya mengkompilasi ulang JSP.

Dan jika karena alasan tertentu ini tidak dapat dilakukan di Tomcat 8, dapatkah itu dilakukan di Tomcat 7?

developerwjk
sumber

Jawaban:

5

Tomcat 8 dan 7 menggunakan Jasper 2 JSP Engine. Salah satu perubahan yang dilakukan dalam versi ini adalah:

Kompilasi latar belakang JSP
Jika Anda membuat perubahan ke halaman JSP yang sudah dikompilasi Jasper 2 dapat mengkompilasi ulang halaman tersebut di latar belakang. Halaman JSP yang dikompilasi sebelumnya masih akan tersedia untuk melayani permintaan. Setelah halaman baru berhasil dikompilasi, halaman baru akan diganti. Ini membantu meningkatkan ketersediaan halaman JSP Anda di server produksi.

Untuk mengontrol perilaku ini, Anda dapat menggunakan parameter berikut (dalam $CATALINA_BASE/conf/web.xml):

checkInterval - Jika pengembangan salah dan checkInterval lebih besar dari nol, kompilasi latar belakang diaktifkan. checkInterval adalah waktu dalam detik antara pemeriksaan untuk melihat apakah halaman JSP (dan file dependennya) perlu dikompilasi ulang. Default 0 detik.

pengembangan - Apakah Jasper digunakan dalam mode pengembangan? Jika benar, frekuensi di mana JSP diperiksa untuk modifikasi dapat ditentukan melalui parameter modifikasi.TestInterval atau benar false, default true.

Lihat lebih lanjut: Jasper 2 JSP Engine How To

Federico Sierra
sumber
1
Bagaimana cara mengkonfigurasi ini untuk aplikasi tertentu, daripada mengubahnya secara global?
nsane
@ nisargshah95 Jika aplikasi web Anda memerlukan pengaturan spesifik, salin deklarasi JspServlet dalam conf/web.xmlfile ke dalam Anda sendiri WEB-INF/web.xmldan sesuaikan.
Federico Sierra
1
Apakah saya perlu menyalin semua pengaturan dari JspServletdeklarasi dan kemudian menambahkan sendiri ke pengaturan itu atau hanya menyimpan pengaturan yang ingin saya tambahkan WEB-INF/web.xmldan tomcat akan secara otomatis menambahkannya ke JspServletpengaturannya sendiri ?
nsane
Saya punya kucing jantan lokal (xamp) dan parameter pengembangan ini tidak disetel. Masih tomcat mengkompilasi ulang JSP ketika mereka berubah.
Marc