java - Bagaimana untuk melaksanakan program permulaan projek apabila tomcat bermula
我想大声告诉你
我想大声告诉你 2017-07-05 10:02:11
0
4
1061

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

我想大声告诉你
我想大声告诉你

membalas semua(4)
洪涛

Konfigurasikan perkara berikut dalam web.xml

<servlet>  
   <servlet-name>MyServlet</servlet-name>  
   <servlet-class>org.cai.MyServlet</servlet-class>  
   <strong><load-on-startup>0</load-on-startup></strong>  
  </servlet> 
某草草

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:

  1. Seperti yang @treeandgrass katakan, tulis semula anotasi Servlet init(),但前提是在web.xml中给load-on-startup设上值(或者加@WebServlet tertentu);

  2. melaksanakan init(),配在web.xml中(或者加@WebFilteranotasi untuk Penapis tertentu);

  3. Laksanakan antara muka ServletContextListener dan laksanakan contextInitialized(),配在web.xml中(或者加@WebListeneranotasi).

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().

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan