Zuerst möchte ich sagen, ich bin ziemlich neu in der Programmierung mit ejb und jsf, und ich versuche ein Projekt zu beenden von einem Freund von mir. Ich erhalte eine NullPointerException, verursacht durch den Aufruf der Methode "utenteSessionBean.CheckUtentebyId" (Benutzername) des Session-Bean-Objekts namens "utenteSessionBean", die in der verwalteten Bean namens Neo4jMBean deklariert ist. Ich habe gelernt, dass es nicht notwendig ist, eine Session-Bean (wie es bei einem normalen Java-Objekt der Fall sein muss) in Managed Bean zu erstellen und zu initialisieren, aber es reicht aus, es zu deklarieren. Hier ist der Code, der Session-Bean, die Daten von einem beliebigen DB abruftIch kann keine Sitzung ejb in meiner verwalteten Bean verwenden, weil ich eine Null Pointer Exception bekomme
@Stateless
@LocalBean
public class UtenteSessionBean {
EntityManagerFactory emf = Persistence.createEntityManagerFactory("EnterpriseApplication2-ejbPU");
public boolean CheckUtentebyId(String username){
EntityManager em = emf.createEntityManager();
Query query = em.createNamedQuery("Utente.findByUsername");
query.setParameter("username", username);
List<Utente> Res=query.getResultList();
//completare funzione ctrl+spazio
System.out.println("pre");
System.out.println("pre"+Res.isEmpty());
em.close();
System.out.println("post");
System.out.println("post"+Res.isEmpty());
if(Res.size()>=1)
{
return true;
}
else
{
return false;
}
}
}
Hier ist der Code der Managed Bean
@ManagedBean
@ViewScoped
public class Neo4jMBean {
@EJB
private UtenteSessionBean utenteSessionBean;
static String SERVER_ROOT_URI = "http://localhost:7474/db/data/";
public Neo4jMBean() {
}
public boolean getUser(String username) {
return utenteSessionBean.CheckUtentebyId(username);
}
}
ich auf Stackoverflow gesucht haben, eine Lösung viele Male für die Festsetzung dieser Problem, aber ich habe noch nichts gefunden, das für mich funktioniert.
Sie tomcat verwenden ? –
Ich benutze Netbeans 8.1 und GlassFish Server 4 –