java.lang.NullPointerException JPA,Spring,JSF2

时间:2014-07-17 08:34:38

标签: spring java-ee jpa jsf-2

早上好:

我正在做一个小项目,负责图书馆的维护和管理。 执行了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;
    }

}

我遇到的错误是列出读者。 谢谢;)

0 个答案:

没有答案