2011-12-25 10 views
6

Ho un'applicazione client server. Il server è fatto di servizi rilassanti con jersey e viene distribuito su tomcat 7. In realtà, ho bisogno di creare il contesto dei servizi (leggere alcuni file di grandi dimensioni) prima che il client acceda ai servizi. È possibile creare una classe principale della mia webapp o no?classe principale di un'applicazione Web tomcat

risposta

8

Un'applicazione Web in JavaEE non ha una "classe principale" nello stesso senso di un'applicazione desktop; sicuramente, l'esecuzione deve iniziare da un metodo main da qualche parte, ma sarà gestita dal contenitore web (Tomcat nel tuo caso) e fuori dalla tua portata.

Che cosa si può fare, invece, è di creare un servlet che precarica i dati necessari nel contesto dell'applicazione utilizzando il suo metodo init (supponendo che i dati saranno gli stessi per tutti i clienti, e, idealmente, non sarà modificato da loro). Inoltre, nella configurazione del servlet, si specifica che il servlet deve essere caricato all'avvio e in questo modo si assicura che i dati vengano caricati una volta all'inizio dell'applicazione e che tutti i client possano accedervi dal contesto dell'applicazione.

EDIT:

Nelle versioni più recenti delle specifiche Servlet (2.3 +) il modo preferito è quello di utilizzare gli ascoltatori di contesto, vedere questo answer per i dettagli.

+1

Sì. Un ascoltatore è la strada da percorrere. – cherouvim

+0

Grazie mille! – TheFrenchGuy

Problemi correlati