0

This is my Servlet

//this is the url servlet
        @WebServlet("/CRUDServlet")

        public class CRUDServlet extends HttpServlet {
            private static final long serialVersionUID = 1L;
    //this gives me problem
            @EJB
            private CRUD crud;

            public CRUDServlet() {
                super();
                // TODO Auto-generated constructor stub
            }

            // GET METHOD
            protected void doGet(HttpServletRequest request, HttpServletResponse response)
                    throws ServletException, IOException {
                //The problem is here because when I call create the program gives me Null Pointer
                crud.create(new Home("Parigi", 100,00));
                response.getWriter().println("Hello friend!");
            }
        }

The Bean is a session bean stateless:

    @Stateless
    public class CRUDBean implements CRUD {


        @PersistenceContext(name="crudPersistence")
        private EntityManager em;

        public CRUDBean() {}

        @Override
        public void create(OggettoDaVendere o) {
            em.persist(o);
            return;
        }
    ...
    }

and when I go to local url: http://localhost:8080/Example/CRUDServlet it gives me null pointer exception and I don't know why. Anyone can help me?

lug 11, 2018 4:32:09 PM org.apache.catalina.core.StandardWrapperValve invoke GRAVE: Servlet.service() for servlet [servlet.CRUDServlet] in context with path [/EsercizioCRUD] threw exception java.lang.NullPointerException at servlet.CRUDServlet.doGet(CRUDServlet.java:46) at javax.servlet.http.HttpServlet.service(HttpServlet.java:635) at javax.servlet.http.HttpServlet.service(HttpServlet.java:742) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:800) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1471) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748)

  • Please, add a stack trace to the question – Federico klez Culloca Jul 11 '18 at 14:53
  • GRAVE: Servlet.service() for servlet [servlet.CRUDServlet] in context with path [/Example] threw exception java.lang.NullPointerException at servlet.CRUDServlet.doGet(CRUDServlet.java:46) at javax.servlet.http.HttpServlet.service(HttpServlet.java:635) at javax.servlet.http.HttpServlet.service(HttpServlet.java:742) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) at – Doflamingo18 Jul 11 '18 at 15:02
  • at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) – Doflamingo18 Jul 11 '18 at 15:03
  • You should edit you post to add those information, do not post it in comments, it's unreadable. – Lorelorelore Jul 11 '18 at 15:07
  • Possible duplicate of [What is a NullPointerException, and how do I fix it?](https://stackoverflow.com/questions/218384/what-is-a-nullpointerexception-and-how-do-i-fix-it) – Lorelorelore Jul 11 '18 at 15:08
  • @Lorelorelore I have update the error stack! – Doflamingo18 Jul 11 '18 at 15:16
  • Which one is row 46? – Federico klez Culloca Jul 11 '18 at 15:17
  • yes is the row where crud.create(new Home("Parigi", 100,00));. It seems that @EJB is not work – Doflamingo18 Jul 11 '18 at 15:20
  • 1
    What does your build environment look like? EJB's are not supported by Tomcat out of the box - they require a decent amount more to work. – stdunbar Jul 11 '18 at 16:59
  • Create object and check crud =new CRUD (); – Raja Ramachandran Jul 13 '18 at 07:52
  • Try using [TomEE](http://tomee.apache.org/) instead, it is meant for easy replacement of TomCat who want EE feature like `CDI` and `EJB` – ST. Kee Jul 16 '18 at 07:52

0 Answers0