Heim > Java > javaLernprogramm > Hauptteil

Java hat einen Nullzeiger gemeldet. Könnte mir bitte jemand sagen, wo das Problem liegt?

php是最好的语言
Freigeben: 2018-08-04 11:24:41
Original
1329 Leute haben es durchsucht

<a href="javascript:void(0);" onclick="clearCart()" id="clear" class="clear">清空购物车</a>
Nach dem Login kopieren

//Klicken Sie, um das Warenkorbereignis auf der Seite „cart.jsp“ zu löschen.

function clearCart(){
            if(confirm("您是否要清空购物车?")){
                location.href="${pageContext.request.contextPath }/product?method=clearCart";
            }
        }
Nach dem Login kopieren
Nach dem Login kopieren
public void service(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {

        req.setCharacterEncoding("UTF-8");        try {            //1.获得请求对象的method的名称
            String methodName = req.getParameter("methodName");            //2.获得当前被访问的对象的字节码对象
            Class clazz = this.getClass();//ProductServlet.class 或者

            //3.获得当前字节码对象中的指定方法
            Method method = clazz.getMethod(methodName, HttpServletRequest.class,HttpServletResponse.class);            //4执行相应功能方法
            method.invoke(this, req,resp);

            } catch (Exception e) {
                e.printStackTrace();
        }
    }
Nach dem Login kopieren
Nach dem Login kopieren

//Löschen Sie die Warenkorbmethode

public void clearCart(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        HttpSession session = request.getSession();
        session.removeAttribute("cart");        //跳转回cart.jsp
        response.sendRedirect(request.getContextPath()+"/cart.jsp");

    }
Nach dem Login kopieren
Nach dem Login kopieren
我点击清空就报异常了
Nach dem Login kopieren
Nach dem Login kopieren
java.lang.NullPointerException
    at java.lang.Class.searchMethods(Class.java:2832)
    at java.lang.Class.getMethod0(Class.java:2856)
    at java.lang.Class.getMethod(Class.java:1668)
    at com.itheima.web.servlet.BaseServlet.service(BaseServlet.java:25)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    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:170)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
    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:315)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
Nach dem Login kopieren
Nach dem Login kopieren
<a href="javascript:void(0);" onclick="clearCart()" id="clear" class="clear">清空购物车</a>
Nach dem Login kopieren

//Klicken Sie, um den Einkauf zu löschen Warenkorb auf der Seite „cart.jsp“ Ereignis

function clearCart(){
            if(confirm("您是否要清空购物车?")){
                location.href="${pageContext.request.contextPath }/product?method=clearCart";
            }
        }
Nach dem Login kopieren
Nach dem Login kopieren
public void service(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {

        req.setCharacterEncoding("UTF-8");        try {            //1.获得请求对象的method的名称
            String methodName = req.getParameter("methodName");            //2.获得当前被访问的对象的字节码对象
            Class clazz = this.getClass();//ProductServlet.class 或者

            //3.获得当前字节码对象中的指定方法
            Method method = clazz.getMethod(methodName, HttpServletRequest.class,HttpServletResponse.class);            //4执行相应功能方法
            method.invoke(this, req,resp);

            } catch (Exception e) {
                e.printStackTrace();
        }
    }
Nach dem Login kopieren
Nach dem Login kopieren

//Methode zum Löschen des Warenkorbs

public void clearCart(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        HttpSession session = request.getSession();
        session.removeAttribute("cart");        //跳转回cart.jsp
        response.sendRedirect(request.getContextPath()+"/cart.jsp");

    }
Nach dem Login kopieren
Nach dem Login kopieren
我点击清空就报异常了
Nach dem Login kopieren
Nach dem Login kopieren
java.lang.NullPointerException
    at java.lang.Class.searchMethods(Class.java:2832)
    at java.lang.Class.getMethod0(Class.java:2856)
    at java.lang.Class.getMethod(Class.java:1668)
    at com.itheima.web.servlet.BaseServlet.service(BaseServlet.java:25)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    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:170)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
    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:315)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
Nach dem Login kopieren
Nach dem Login kopieren

Verwandte Artikel:

Meister, bitte helfen Sie mir, diese Nullzeiger-Ausnahme zu lösen

Ich bin beim Anpassen der PHP-Umgebung auf ein schwieriges Problem gestoßen. Bitte helfen Sie mir!

Das obige ist der detaillierte Inhalt vonJava hat einen Nullzeiger gemeldet. Könnte mir bitte jemand sagen, wo das Problem liegt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage