Ich bin neu in JSF, Filter und JPA und verwende NetBeans und Glassfish.Java Servlet Filter und Umfang anderer Objekte und Entity Manager
Ich habe ein JSF-Formular, das übermittelt und wiederum auf eine Objektmethode zugreift, die eine Facade-Objektmethode aufruft, um eine DB-Abfrage auszuführen. Die Fassade Klasse verwendet eine Anmerkung Zugang zum EntityManager zu erklären:
@PersistenceContext(unitName = "NAMEOFAPP")
private EntityManager em;
Wenn ich versuche, und rufen Sie die gleiche Fassade aus einer Filterklasse (vor oder nach chain.doFilter), die Fassade Klasse und EntityManager Arbeit, aber Wenn ich meine eigene Klasse in der Filterklasse instanziiere und eine Methode aufruft, die versucht, auf die Fassade zuzugreifen, wird sie nicht instanziiert, und ich bekomme eine Null-Ausnahme, wenn ich sie aufruft.
Also, wie bekomme ich meine Klasse Zugang zu einem Facade/EntityManager? Ich deklariere die Fassade auf die gleiche Weise wie in der Filterklasse.
Warum muss ich neu meine Klasse, wenn alle anderen bereits instanziiert sind?
Danke.
Dank Bozho. Ich habe die Klasse als ManagedBean deklariert, aber jetzt wirft Glassfish eine 500 mit: javax.naming.NameNotFoundException. Wie deklariere ich diese Bean so, dass sie beim Build abgeholt wird? – JPC
glassfish welche version? – Bozho
Ver 3.0.1, in faces-config.xml gibt es keine anderen Deklarationen von. Ich verwende die @ EJB-Annotation, wenn ich meine Managed Bean in der Filter-Klasse deklariere. Danke vielmals. –
JPC