2012-12-11 10 views
6

संभव डुप्लिकेट:
tomcat auto start servlet
How do I load a java class (not a servlet) when the tomcat server startsटॉमकैट स्टार्ट या एप्लिकेशन पर तैनाती पर विशिष्ट जावा कोड कैसे चलाएं?

मैं वेब अनुप्रयोग बिलाव सर्वर पर चल रहा है। जब मैं टॉमकैट शुरू करता हूं या जब यह एप्लिकेशन तैनात किया जाता है तो मैं अपने आवेदन में एक विशिष्ट कोड चलाने के लिए चाहता हूं। मैं इसे कैसे प्राप्त कर सकता हूं? धन्यवाद

+5

आप देख रहे हैं कुछ "ServletContextListener" कहा जाता है के लिए, यह तरीकों की जरूरत है। –

+0

https://stackoverflow.com/questions/3468150/using-special-auto-start-servlet-to-initialize-on-startup-and-share-plication – rogerdpack

उत्तर

25

आपको ServletContextListner इंटरफ़ेस को कार्यान्वित करने और उस कोड को लिखने की आवश्यकता है जिसे आप टॉमकैट स्टार्ट अप पर निष्पादित करना चाहते हैं।

यहां इसके बारे में एक संक्षिप्त विवरण दिया गया है।

ServletContextListner javax.servlet पैकेज के अंदर है।

यहां एक संक्षिप्त कोड है कि इसे कैसे करें।

public class MyServletContextListener implements ServletContextListener { 

    @Override 
    public void contextDestroyed(ServletContextEvent arg0) { 
    //Notification that the servlet context is about to be shut down. 
    } 

    @Override 
    public void contextInitialized(ServletContextEvent arg0) { 
    // do all the tasks that you need to perform just after the server starts 

    //Notification that the web application initialization process is starting 
    } 

} 

और आप अपने तैनाती वर्णनकर्ता web.xml में कॉन्फ़िगर की जरूरत

<listener> 
    <listener-class> 
     mypackage.MyServletContextListener 
    </listener-class> 
</listener> 
+0

कूल देखें, मैं कोशिश करूंगा, धन्यवाद! –

+0

@WebListener एनोटेशन में भी देखें। – theglauber

+0

मुझे इसकी आवश्यकता है और यह काम करता है। ऐसा करने का "लोड-ऑन-स्टार्टअप" तरीका भी है। मेरी समस्या यह है कि दोनों विधियां कक्षा को दो बार शुरू करती हैं। कोई उपाय? मैंने इस मुद्दे को यहां देखा है http://stackoverflow.com/questions/7301088/tomcat-servlet-init-called-twice-upon-startup। मैं समझ नहीं पा रहा हूं कि क्या करना है। जावा से बहुत परिचित नहीं है। –

संबंधित मुद्दे