Bonjour,
Sur un serveur Wildfly j'ai l'erreur JAVA suivante :
Le fichier concerné "AddContactExecuteServlet" :
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)
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
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); } }
Si quelqu'un a une idée de ce qui cloche... merci!
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 lentité (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); } }
Partager