早上好:
我正在做一个小项目,负责图书馆的维护和管理。 执行了JSF和JPA的第一部分,现在正在输入Spring,而BOOK的一部分我收到以下错误:
SEVERE: java.lang.NullPointerException
javax.faces.el.EvaluationException: java.lang.NullPointerException
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
at javax.faces.component.UICommand.broadcast(UICommand.java:315)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:787)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1252)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:312)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
at persistencia.beans.adminLectoresBean.adminLector(adminLectoresBean.java:95)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.el.parser.AstValue.invoke(AstValue.java:278)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:273)
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
... 28 more
jul 17, 2014 9:35:33 AM com.sun.faces.lifecycle.InvokeApplicationPhase execute
WARNING: #{adminLector.adminLector}: java.lang.NullPointerException
javax.faces.FacesException: #{adminLector.adminLector}: java.lang.NullPointerException
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
at javax.faces.component.UICommand.broadcast(UICommand.java:315)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:787)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1252)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:312)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
Caused by: javax.faces.el.EvaluationException: java.lang.NullPointerException
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
... 27 more
Caused by: java.lang.NullPointerException
at persistencia.beans.adminLectoresBean.adminLector(adminLectoresBean.java:95)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.el.parser.AstValue.invoke(AstValue.java:278)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:273)
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
... 28 more
的applicationContext.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<!-- Beans Cliente -->
<bean id="lectorDao" class="Dao.LectorDao" autowire="byName"/>
<bean id="lectorManager" class="Manager.LectorManager" autowire="byName"/>
<bean id="lectorDelegate" class="Delegate.LectorDelegate" autowire="byName"/>
</beans>
AdminLector.xhtml:
<h:dataTable value="#{adminLector.listaLectores}" var="l"
styleClass="order-table" headerClass="order-table-header"
rowClasses="order-table-odd-row,order-table-even-row">
<h:column>
<f:facet name="header">
Username
</f:facet>
<h:outputText value="#{l.username}" />
</h:column>
<h:column>
<f:facet name="header">
Nombre
</f:facet>
<h:outputText value="#{l.nombre}" />
</h:column>
<h:column>
<f:facet name="header">
Carnet
</f:facet>
<h:outputText value="#{l.carnetLector}" />
</h:column>
</h:dataTable>
AdminLectorBean.java:
@ManagedBean(name = "adminLector")
@RequestScoped
public class adminLectoresBean {
private Long carnetLector;
private String nombre, usuario, contraseña;
private String usuarioM;
@ManagedProperty(value = "#{lectorDelegate}")
private LectorDelegate idelegate;
@ManagedProperty(value = "#{lectorDao}")
private LectorDao iDao;
private List<Lector> listaLectores;
public List<Lector> getListaLectores() {
return listaLectores;
}
public void setListaLectores(List<Lector> listaLectores) {
this.listaLectores = listaLectores;
}
private Lector lector = new Lector();
public void listarLectores() {
setListaLectores(getIdelegate().listarLectores());
}
public adminLectoresBean() {
super();
listaLectores = new ArrayList<Lector>();
}
public void añadirLector() {
idelegate.añadirLector(getLector());
}
public void borrarLector() {
lector = getIdelegate().seleccionarLector(usuarioM);
getIdelegate().borrarLector(lector);
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getUsuario() {
return usuario;
}
public void setUsuario(String usuario) {
this.usuario = usuario;
}
public String getContraseña() {
return contraseña;
}
public void setContraseña(String contraseña) {
this.contraseña = contraseña;
}
public String adminLector() {
listaLectores = getiDao().listarLectores();
return "lector";
}
public Long getCarnetLector() {
return carnetLector;
}
public void setCarnetLector(Long carnetLector) {
this.carnetLector = carnetLector;
}
public String getUsuarioM() {
return usuarioM;
}
public void setUsuarioM(String usuarioM) {
this.usuarioM = usuarioM;
}
public LectorDelegate getIdelegate() {
return idelegate;
}
public void setIdelegate(LectorDelegate idelegate) {
this.idelegate = idelegate;
}
public Lector getLector() {
return lector;
}
public void setLector(Lector lector) {
this.lector = lector;
}
public LectorDao getiDao() {
return iDao;
}
public void setiDao(LectorDao iDao) {
this.iDao = iDao;
}
}
LectorDao.java
public class LectorDao implements ILectorDao {
@Override
public List<Lector> listarLectores() {
EntityManagerFactory emf = Persistence
.createEntityManagerFactory("biblio");
EntityManager em = emf.createEntityManager();
EntityTransaction tx = em.getTransaction();
tx.begin();
String queryString = "SELECT l FROM Lector l";
Query query = em.createQuery(queryString);
List<Lector> listaLectores = (List<Lector>) (query.getResultList());
tx.commit();
em.close();
emf.close();
return listaLectores;
}
@Override
public void añadirLector(Lector L) {
EntityManagerFactory emf = Persistence
.createEntityManagerFactory("biblio");
EntityManager em = emf.createEntityManager();
EntityTransaction tx = em.getTransaction();
tx.begin();
try {
em.persist(L);
tx.commit();
} catch (Exception e) {
tx.rollback();
}
em.close();
emf.close();
}
@Override
public void borrarLector(Lector L) {
EntityManagerFactory emf = Persistence
.createEntityManagerFactory("biblio");
EntityManager em = emf.createEntityManager();
EntityTransaction tx = em.getTransaction();
tx.begin();
try {
/* lector = em.find(Lector.class, usuarioM); */
em.remove(L);
tx.commit();
} catch (Exception e) {
tx.rollback();
}
em.close();
emf.close();
}
@Override
public Lector seleccionarLector(String user) {
EntityManagerFactory emf = Persistence
.createEntityManagerFactory("biblio");
EntityManager em = emf.createEntityManager();
EntityTransaction tx = em.getTransaction();
Lector lector = new Lector();
tx.begin();
try {
lector = em.find(Lector.class, user);
tx.commit();
} catch (Exception e) {
tx.rollback();
}
em.close();
emf.close();
return lector;
}
}
我遇到的错误是列出读者。 谢谢;)