映射java.lang.NullPointerException

时间:2019-01-16 20:32:37

标签: java spring spring-mvc nullpointerexception

当我不断收到NullPointerException时,我正在尝试使用springmvc开发Web应用程序 Utilisateur.java:

import java.util.HashSet;
import java.util.Set;
import org.springframework.stereotype.Component;

/**
 *
 * @author admin
 */
//@Component
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * Utilisateur generated by hbm2java
 */
@Entity
@Table(name = "utilisateur")
public class Utilisateur  implements java.io.Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
     private Integer idUser;
     private String nom;
     private String prenom;
     private String profession;
     private String photo;
     @OneToMany(cascade=CascadeType.ALL)
    @JoinColumn(name="idUser")
    private Set<Post> posts;

    public Utilisateur() {
    }

    public Utilisateur(String nom, String prenom, String profession, String photo, Set posts) {
       this.nom = nom;
       this.prenom = prenom;
       this.profession = profession;
       this.photo = photo;
       this.posts = posts;
    }

    public Integer getIdUser() {
        return this.idUser;
    }

    public void setIdUser(Integer idUser) {
        this.idUser = idUser;
    }
    public String getNom() {
        return this.nom;
    }

    public void setNom(String nom) {
        this.nom = nom;
    }
    public String getPrenom() {
        return this.prenom;
    }

    public void setPrenom(String prenom) {
        this.prenom = prenom;
    }
    public String getProfession() {
        return this.profession;
    }

    public void setProfession(String profession) {
        this.profession = profession;
    }
    public String getPhoto() {
        return this.photo;
    }

    public void setPhoto(String photo) {
        this.photo = photo;
    }
    public Set getPosts() {
        return this.posts;
    }

    public void setPosts(Set posts) {
        this.posts = posts;
    }




}

我的userController.java:

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;

import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.portlet.ModelAndView;

@Controller
public class UserController {
    @RequestMapping(value="/listUtilisateur/",method=RequestMethod.GET)
    public ModelAndView showUsers(){
        ModelAndView model=new ModelAndView();
        model.addObject("msg","hello");
        System.out.println("nisrine khan");
        return model;
    }
     @RequestMapping(value="/CreateUser",method=RequestMethod.GET)
    public ModelAndView FormUser(){
        ModelAndView model=new ModelAndView("CreateUser");
        model.addObject("msg","msg");
        System.out.println("nisrine khan");
        return model;
    }

    @RequestMapping(value="/editUser",method=RequestMethod.GET)
    public ModelAndView EditUser(){
        ModelAndView model=new ModelAndView("CreateUser1");
        model.addObject("msg","msg");
        System.out.println("nisrine khan");
        return model;
    }


}

我的formusercontroller.java:

FormUserController.java:
import com.ensat.service.UtilisateurServiceImp;
import com.ensat.model.Utilisateur;
import java.util.HashMap;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
public class FormUserController {

    private UtilisateurServiceImp userService;

    @Autowired(required = true)
    public FormUserController(UtilisateurServiceImp USI) {
        this.userService = USI;
    }

    private Map<Integer, Utilisateur> UtilisateurMap = new HashMap<>();

    @RequestMapping(value = "/addUser", method = RequestMethod.POST)
    public String submit(
            @ModelAttribute("Utilisateur") Utilisateur utilisateur,
            BindingResult result, ModelMap model) {
        if (result.hasErrors()) {
            return "error";
        }
        model.addAttribute("nom", utilisateur.getNom());
        model.addAttribute("id", utilisateur.getIdUser());
        model.addAttribute("prenom", utilisateur.getPrenom());
        model.addAttribute("profession", utilisateur.getProfession());
        model.addAttribute("photo", utilisateur.getPhoto());
        model.addAttribute("msg", "Welcome to Island!");

        model.addAttribute("utilisateur", utilisateur);
        UtilisateurMap.put(utilisateur.getIdUser(), utilisateur);
        if (utilisateur.getIdUser() == 0) {
            //new person, add it
           this.userService.addService(utilisateur);

        } else {
            //existing person, call update
            this.userService.updateService(utilisateur);

        }

        return "listUser";
    }


    @RequestMapping(value = "/edit/{id}", method = RequestMethod.POST)
    public String editUtilisateur(
            @ModelAttribute("Utilisateur") Utilisateur utilisateur,
            BindingResult result, ModelMap model) {
        if (result.hasErrors()) {
            return "error";
        }
        model.addAttribute("nom", utilisateur.getNom());
        model.addAttribute("id", utilisateur.getIdUser());
        model.addAttribute("prenom", utilisateur.getPrenom());
        model.addAttribute("profession", utilisateur.getProfession());
        model.addAttribute("photo", utilisateur.getPhoto());

        UtilisateurMap.put(utilisateur.getIdUser(), utilisateur);
        this.userService.updateService(utilisateur);
        return "listUser";
    }

    @RequestMapping("/remove/{id}")
    public String removeUtilisateur(@PathVariable("idUser") int id) {
    this.userService.removeService(id);

        return "listUser";
    }
}

我的utilisateurDAO.java:

import com.ensat.model.Utilisateur;
import java.util.List;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Repository;


@Repository
public class UtilisateurDao implements IntDao<Utilisateur> {

    private static final Logger logger = LoggerFactory.getLogger(UtilisateurDao.class);
    @Autowired
    @Qualifier("sessionFactory")
    private SessionFactory sessionFactory;

    public void setSessionFactory(SessionFactory sf) {
        this.sessionFactory = sf;
    }

    @Override
    public boolean saveUser(Utilisateur p) {
        Session session = this.sessionFactory.getCurrentSession();
        session.persist(p);
        logger.info("Utilisateur enregistré avec succés , Utilisateur Details=" + p);
        return true;
    }

    @Override
    public boolean UpdateUser(Utilisateur p) {
        Session session = this.sessionFactory.getCurrentSession();
        session.update(p);
        logger.info("Utilisateur mis à jour avec succés , Utilisateur Details=" + p);
        return true;
    }

    @Override
    public void deleteUser(Integer userId) {
        Session session = this.sessionFactory.getCurrentSession();
        Utilisateur p = (Utilisateur) session.load(Utilisateur.class, userId);
        if (null != p) {
            session.delete(p);
        }
        logger.info("Utilisateur supprimée avec succés , Utilisateur details=" + p);
    }

    @SuppressWarnings("unchecked")
    @Override
    public List<Utilisateur> getAllelements() {
        Session session = this.sessionFactory.getCurrentSession();
        List<Utilisateur> UtilisateursList = session.createQuery("from Utilisateur").list();
        for (Utilisateur p : UtilisateursList) {
            logger.info("Utilisateur List::" + p);
        }
        return UtilisateursList;
    }
    @Override
    public Utilisateur listUserById(Integer userId) {
        Session session = this.sessionFactory.getCurrentSession();
        Utilisateur p = (Utilisateur) session.load(Utilisateur.class, userId);
        logger.info("Utilisateur loaded successfully, Utilisateur details=" + p);
        return p;
    }

}

,错误是:

  

org.apache.catalina.core.ApplicationContext.log映射期间出错   java.lang.NullPointerException在   org.apache.catalina.mapper.Mapper.internalMapWrapper(Mapper.java:842)     在org.apache.catalina.mapper.Mapper.map(Mapper.java:712)处   org.apache.catalina.core.ApplicationContext.getRequestDispatcher(ApplicationContext.java:499)     在   org.apache.catalina.core.ApplicationContextFacade.getRequestDispatcher(ApplicationContextFacade.java:221)     在   org.apache.catalina.connector.Request.getRequestDispatcher(Request.java:1338)     在   org.apache.catalina.connector.RequestFacade.getRequestDispatcher(RequestFacade.java:613)     在   javax.servlet.ServletRequestWrapper.getRequestDispatcher(ServletRequestWrapper.java:291)     在   org.springframework.web.servlet.view.InternalResourceView.getRequestDispatcher(InternalResourceView.java:281)     在   org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:189)     在   org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:267)     在   org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1221)     在   org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1005)     在   org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:952)     在   org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:870)     在   org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961)     在   org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:852)     在javax.servlet.http.HttpServlet.service(HttpServlet.java:622)处   org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)     在javax.servlet.http.HttpServlet.service(HttpServlet.java:729)在   org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)     在   org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)     在   org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)     在   org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)     在   org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)     在   org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)     在   org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)     在   org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)     在   org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:217)     在   org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)     在   org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)     在   org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)     在   org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)     在   org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)     在   org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)     在   org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)     在   org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)     在   org.apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process(AbstractProtocol.java:673)     在   org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.doRun(NioEndpoint.java:1500)     在   org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.run(NioEndpoint.java:1456)     在   java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)     在   java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:624)     在   org.apache.tomcat.util.threads.TaskThread $ WrappingRunnable.run(TaskThread.java:61)     在java.lang.Thread.run(Thread.java:748)

0 个答案:

没有答案