Apabila tomcat bermula, konsol mengeluarkan banyak maklumat Maklumat menunjukkan bahawa apabila tomcat bermula, banyak fail konfigurasi projek telah dimuatkan, dan kaedah permulaan projek dipanggil, tetapi saya tidak tahu bagaimana ia dipanggil. Di mana ia dipanggil? Adakah saya perlu mengkonfigurasi sesuatu dengan tomcat?
PS:projek web java
Konfigurasikan perkara berikut dalam web.xml
Cari Pendengar dalam web.xml
Apa yang diperlukan oleh poster adalah untuk sistem memahami kitaran hayat Servlet. Apabila anda melaksanakan Servlet, kaedah yang manakah akan dipanggil apabila aplikasi web dimulakan. Terdapat terlalu banyak artikel tentang ini:
http://www.jianshu.com/p/1d50...
http://www.runoob.com/servlet...
Ada tiga cara:
Seperti yang @treeandgrass katakan, tulis semula anotasi Servlet
init()
,但前提是在web.xml中给load-on-startup设上值(或者加@WebServlet
tertentu);melaksanakan
init()
,配在web.xml中(或者加@WebFilter
anotasi untuk Penapis tertentu);Laksanakan antara muka ServletContextListener dan laksanakan
contextInitialized()
,配在web.xml中(或者加@WebListener
anotasi).Di antara ketiga-tiga kaedah ini, saya menggunakan yang terakhir (ServletContextListener) paling kerap (saya biasanya hanya menggunakan kaedah ini apabila menggunakan Spring dalam Web), kerana ia sentiasa diutamakan daripada pelaksanaan Penapis dan Servlet, dan tidak melaksanakan fungsi tertentu dan Penapis dicampurkan bersama.
Kerja permulaan termasuk:
Permulaan kumpulan benang, kumpulan sambungan pangkalan data dan kumpulan sambungan rangkaian
Memuatkan bekas IoC
Pemasa mula
Objek lain yang perlu dimulakan
Kebanyakan kerja permulaan di atas perlu ditutup apabila pelayan web berhenti, dan tugasan ini harus ditulis dalam
contextDestroyed()
.