Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    9

    Avvio Tomcat -> eseguire inizializzazione dalla mia WebApp

    Ciao a tutti,
    premetto che non so se è possibile fare quello che ho in mente, ma la cosa credo che sia fattibile.

    Vi spiego meglio la mia situazione:
    ho una mia webApp che deve girare su Tomcat, vorrei che quando si avvia il Container, questo mi eseguisse una Servlet/classe di inizializzazione della mia app.
    Nel mio caso vorrei che all'avvio del server, si esegua una classe della mia webapp che fa la copia di un file contenuto nel dominio.

    Avevo pensato che ci potesse stare qualche configurazione nel file web.xml della mia app da fare, ma dopo molte ricerche non sono riuscito a venirne a capo (forse il tag che cerco non esiste o non l'ho trovato io).

    Vi ringrazio in anticipo,
    ciao

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Avvio Tomcat -> eseguire inizializzazione dalla mia WebApp

    Originariamente inviato da abdulla
    ho una mia webApp che deve girare su Tomcat, vorrei che quando si avvia il Container, questo mi eseguisse usa Servlet/classe di inizializzazione della mia app.
    Puoi registrare un "listener" del contesto (vedi documentazione javadoc di javax.servlet.ServletContextListener). Va dichiarato nel deployment descriptor (web.xml) tramite il tag <listener> che contiene <listener-class>.
    Cerca in rete, trovi esempi.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    9
    Grazie mille andbin, tempestivo e preciso.
    Posto un esempio che ho fatto per capire, nel caso possa servire a qualqunaltro.
    Invece di configurare il file web.xml, ho usato le annotazioni.
    Vi do anche dei link dove spiegano Filters, Event Listeners e le annotazioni java.

    codice:
    /**
     * Esempio di listener.
     * 
     * Link utili:
     * http://docs.oracle.com/cd/B15904_01/...17/filters.htm
     * http://java.html.it/articoli/leggi/3...annotazioni/2/
     * */
    package testListener;
    
    import javax.servlet.ServletContextEvent;
    import javax.servlet.ServletContextListener;
    import javax.servlet.ServletRequestEvent;
    import javax.servlet.ServletRequestListener;
    import javax.servlet.annotation.WebListener;
    import javax.servlet.http.HttpSessionEvent;
    import javax.servlet.http.HttpSessionListener;
    
    @WebListener
    public class ContextListener implements ServletContextListener, HttpSessionListener, ServletRequestListener {
    	/** eseguito quando si avvia il server */
    	public ContextListener(){
    		System.out.println("Listener costruttore");
    	}
    	/** eseguito quando si avvia il server */
    	public void contextInitialized(ServletContextEvent arg0) {
    		System.out.println("Listner contextInitialized");
    	}
    	/** eseguito quando si chiude/riavvia il server */
    	public void contextDestroyed(ServletContextEvent arg0) {
    		System.out.println("Listner contextDestroyed");
    	}
    	/** eseguito quando perviene la richiesta al server */
    	public void requestInitialized(ServletRequestEvent arg0) {
    		System.out.println("Listner requestInitialized");
    	}
    	/** eseguito quando termina la richiesta al server */
    	public void requestDestroyed(ServletRequestEvent arg0) {
    		System.out.println("Listner requestDestroyed");		
    	}
    	/** eseguito quando si crea la sessione */
    	public void sessionCreated(HttpSessionEvent arg0) {
    		System.out.println("Listner sessionCreated");
    	}
    	/** eseguito quando si termina la sessione */
    	public void sessionDestroyed(HttpSessionEvent arg0) {
    		System.out.println("Listner sessionDestroyed");
    	}
    }
    Un saluto a tutti e dinuovo grazie andbin.

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da abdulla
    Invece di configurare il file web.xml, ho usato le annotazioni.
    Ok ma tieni solo presente che l'uso della annotazione WebListener richiede l'uso di un application server/servlet container recentissimo, che supporta le specifiche Servlet 3.0 (Java EE 6) come ad esempio Apache Tomcat 7. E deve anche usare Java 6.

    Se ci sono altri motivi per richieste così "esigenti" (es. devi usare altre annotazioni di Java EE 6 o usare altre caratteristiche delle specifiche Servlet 3.0), allora è un conto.
    Altrimenti non andare ad usare il primo codice che trovi "scopiazzato" da internet.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    9
    Si, lo so, è che l'app deve girare su un mio server (e per pochi utenti), quindi installerò tutti i componenti recenti (Tomcat 7, Java 7, etc....). Sai questo progetto è un punto di partenza per ferrarmi su queste cose da poter sfruttare in futuro.
    La cosa è che non so se mi conviene usare il framework Hibernate per gestire il db, il fatto è che non lo conosco tanto bene e non vorrei perdere troppo tempo per studiarlo. Ho pensato di farmi il mapping a mano e usare SQLite come dbms. Che mi consigli?

    ciao e buon anno!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.