IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

java.lang.NullPointerException - Wildly


Sujet :

Java

  1. #1
    Membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Janvier 2018
    Messages
    299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2018
    Messages : 299
    Points : 67
    Points
    67
    Par défaut java.lang.NullPointerException - Wildly
    Bonjour,
    Sur un serveur Wildfly j'ai l'erreur JAVA suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    21:24:38,040 ERROR [io.undertow.request] (default task-1) UT005023: Exception handling request to /ProjetContactWeb/AddContactExecuteServlet: java.lang.NullPointerException
    	at deployment.ProjetContactEAR.ear.ProjetContactWeb.war//controleur.AddContactExecuteServlet.doPost(AddContactExecuteServlet.java:36)
    Le fichier concerné "AddContactExecuteServlet" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    package controleur;
     
    import java.io.IOException;
     
    import javax.servlet.RequestDispatcher;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
    import ejbAgenda.Contact;
    import ejbAgenda.ContactManagerRemote;
     
    /**
     * Servlet implementation class AddContactExecuteServlet
     */
    @WebServlet("/AddContactExecuteServlet")
    public class AddContactExecuteServlet extends HttpServlet {
    	private static final long serialVersionUID = 1L;
     
    	/**
             * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
             */
     
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    	       Contact contact = new Contact();
    	       contact.setPrenom(request.getParameter("contact.prenom"));
    	       contact.setNom(request.getParameter("contact.nom"));
    	       contact.setAdresse(request.getParameter("contact.adresse"));
    	       contact.setCodePostal(Integer.parseInt(request.getParameter("contact.codePostal")));
    	       contact.setVille(request.getParameter("contact.ville"));
    	       contact.setMobile(request.getParameter("contact.mobile"));
    	       contact.setTelephone(request.getParameter("contact.telephone"));
    	       ContactManagerRemote contactManagerRemote = EjbLocator.getLocator().getContactManager();
    	       Contact newContact = contactManagerRemote.ajouterContact(contact);
    	       RequestDispatcher rd = null;
    	       if(newContact.getId() > 0) {
    	             rd = request.getRequestDispatcher("/WEB-INF/jsps/contactAdded.jsp");
    	       }
    	       else {
    	             rd = request.getRequestDispatcher("/WEB-INF/jsps/contactNotAdded.jsp");
    	       }
    	       rd.forward(request, response);
    	       }
    	}
    ContactManager :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    package ejbAgenda;
     
    import java.util.Collection;
    import java.util.Hashtable;
     
    import javax.ejb.LocalBean;
    import javax.ejb.Stateless;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    import javax.persistence.EntityManager;
    import javax.persistence.PersistenceContext;
     
    @Stateless
    @LocalBean
    public class ContactManager implements ContactManagerRemote {
    	@PersistenceContext
    	EntityManager em;
    	public Contact ajouterContact(Contact contact) {
    		em.persist(contact);
    		return contact;
    		}
    	public Collection<Contact> listerContact() {
    		// Vous pouvez aussi utiliser une named query définie dans l’entité (cf TD5)
    		return em.createQuery("SELECT c FROM Contact c").getResultList(); 
    		}
    	private static ContactManagerRemote lookupRemoteEJB() throws NamingException {
    		final Hashtable jndiProperties = new Hashtable();
    		jndiProperties.put(Context.URL_PKG_PREFIXES, "org.jboss.ejb.client.naming");
    		final Context context = new InitialContext(jndiProperties);
    		final String appName = "ProjetContactEAR";
    		final String moduleName = "ProjetContactEJB";
    		final String distinctName = "";
    		final String beanName = ContactManager.class.getSimpleName();
    		final String viewClassName = ContactManagerRemote.class.getName();
    		System.out.println("Looking EJB via JNDI ");
    		System.out.println("ejb:"+appName+"/"+moduleName + "/" + distinctName + "/" + beanName + "!" + viewClassName);
    		String jndi="ejb:" + appName + "/" + moduleName + "/" + distinctName + "/" + beanName + "!" + viewClassName;
    		return (ContactManagerRemote) context.lookup(jndi);
    		}
    }
    Si quelqu'un a une idée de ce qui cloche... merci!

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut

    Ton erreur vient du fait que ton programme essaye d'interagir avec qqch d'inexistant.

    voila le problème:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ContactManagerRemote contactManagerRemote = EjbLocator.getLocator().getContactManager();
    Ici tu récupère un ContactManagerRemote via EjbLocator.getLocator().getContactManager().

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Contact newContact = contactManagerRemote.ajouterContact(contact);
    Et ensuite tu l'utilise.
    Le problème est que le ContactManagerRemote de EjbLocator.getLocator() est surement nul. Ce qui engendre l'erreur

    Essaye de regarder dans ta classe Locator si tu as quelque part une ligne comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ContactManagerRemote contactManagerRemote = null;

Discussions similaires

  1. java.lang.NullPointerException
    Par kamaldev dans le forum Struts 1
    Réponses: 12
    Dernier message: 28/06/2006, 19h45
  2. Probleme erreur java.lang.NullPointerException
    Par Tsukaasa dans le forum Langage
    Réponses: 4
    Dernier message: 25/05/2006, 18h19
  3. Réponses: 8
    Dernier message: 11/05/2006, 19h32
  4. [JDIC]Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    Par kedare dans le forum Concurrence et multi-thread
    Réponses: 4
    Dernier message: 06/05/2006, 22h45
  5. java.lang.NullPointerException getparent()
    Par guano dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 17/03/2006, 17h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo