2011-05-16 2 views
0

L'attribut repository renvoie null.L'attribut ServletContext est null

public class BaseServlet extends HttpServlet { 
    protected MyPersistentManager getPersistentManager(){ 
     return (MyPersistentManager) getServletContext().getAttribute("repository"); 
    } 
//... 
} 

Je suis en train ici:

public class ServletListener implements ServletContextListener { 

    public void contextInitialized(ServletContextEvent sce) { 
     /* 
     load data 
     */ 
     ServletContext servletContext = sce.getServletContext(); 
     MyPersistentManager persistentManager = new MyPersistentManager(); 
     servletContext.setAttribute("repository", persistentManager); 
    } 
} 

Pourquoi est-il pas été réglé? Il semble que ce contexte n'est pas initialisé? J'ai essayé de réinitialiser Tomcat, mais cela n'a pas résolu le problème. J'utilise Netbeans.

Répondre

4

La classe ServletListener est-elle enregistrée dans le fichier web.xml?

<listener> 
<listener-class>mypackage.ServletListener</listener-class> 
</listener> 

Des documentation. « Implémentations de cette interface recevoir des notifications sur les modifications au contexte de servlet de l'application web, ils font partie de Pour recevoir des événements de notification, la classe de mise en œuvre doit être configuré dans le descripteur de déploiement pour l'application Web "

+0

Non. Qui devrait le réparer, oui? – dantuch

+0

Oui. J'ai ajouté le lien de documentation pertinent. – iruediger

+0

Merci beaucoup, tout fonctionne maintenant :) – dantuch

Questions connexes