javax.servlet.ServletException : java. lang.NullPointerException

标签 java servlets struts

这里我编写了一些代码,用于从数据库中检索值并传递一些值。

下面是Action类代码:

AttendenceServiceImpl serveceimpl;
  public  ActionForward getStudentInfo(ActionMapping mapping,
            ActionForm form, HttpServletRequest request,
            HttpServletResponse response) {
        System.out.println("-----------------getStudentInfo Start----------------------");



        String category = request.getParameter("categoryVal");
        String classId = request.getParameter("classidVal");
        String sectionId = request.getParameter("sectionidVal");
        System.out.println("----"+category+"---"+classId+"---"+sectionId);

        serveceimpl.getStudentinfo(category,classId,sectionId);

此处,Category、classidsection 值即将到来。

我正在从 Action 类调用 service 类的方法。

下面是Service类代码:

public List getStudentinfo(String category, String classId, String sectionId) {
        System.out.println("------------getStudentinfo SERVICE START---------------------");
        List data=mainpage.getStudentinfo(category, classId, sectionId);
        System.out.println("------------getStudentinfo SERVICE END---------------------");
        return data;
    }

但是在 Action 类中,在控制进入 Service 类之前,我收到 NullPointerException。

下面是堆栈跟踪:

  -----------------getStudentInfo Start----------------------
----1---1---1

    javax.servlet.ServletException: java.lang.NullPointerException
        at org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:520)
        at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:427)
        at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228)
        at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
        at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at com.centris.campus.admin.AuthuFilter.doFilter(AuthuFilter.java:232)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
    Caused by: java.lang.NullPointerException
        at com.centris.campus.actions.AttendenceAction.getStudentInfo(AttendenceAction.java:58)
        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.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:269)
        at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:170)
        at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425)
        ... 24 more
    Apr 10, 2014 12:44:47 PM org.apache.catalina.core.StandardWrapperValve invoke
    SEVERE: Servlet.service() for servlet [action] in context with path [/e-CampusPro] threw exception [java.lang.NullPointerException] with root cause
    java.lang.NullPointerException
        at com.centris.campus.actions.AttendenceAction.getStudentInfo(AttendenceAction.java:58)
        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.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:269)
        at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:170)
        at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425)
        at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228)
        at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
        at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at com.centris.campus.admin.AuthuFilter.doFilter(AuthuFilter.java:232)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

请给我一个对我有帮助的解决方案。

最佳答案

serveceimpl 此处应为 null。请检查其中是否有有效值。见下文

你还没有初始化

AttendenceServiceImplserveceimpl;

关于javax.servlet.ServletException : java. lang.NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22980924/

相关文章:

http - Tomcat 中的 WebDAV 服务器端实现

java - 登录 tomcat catalina.out 的最简单方法

java - 使struts 1.0文本框只读

java - 使用 toString 与字符组成字符串

java - 在链表中的特定点插入

java - Servlet 多部分请求问题

java - 支柱形式不适用于支柱瓷砖

java - 如何访问 JsonPropertyOrder

java - Xbase - 如何在推断器生成的方法顶部添加标签

java - 在 JSP 中上传多个文件