Tomcat 8 上 Eclipse 项目的 WebServlet 中的 java.lang.NullPointerException

标签 java eclipse tomcat servlets nullpointerexception

当我在 Tomcat 服务器上运行我的应用程序时出现此错误。欢迎文件 index.html 是一个空体的 HTML 文件,当我启动应用程序时显示任何内容时完美打开,访问 servlet 方向时出现问题,无论您做什么总是发生 NullPointerException。

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    id="WebApp_ID" version="2.5">
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
    </welcome-file-list>
    <servlet>
        <description></description>
        <display-name>ListaCorreosServlet</display-name>
        <servlet-name>ListaCorreosServlet</servlet-name>
        <servlet-class>comunicacion.ListaCorreosServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>ListaCorreosServlet</servlet-name>
        <url-pattern>/ListaCorreosServlet</url-pattern>
    </servlet-mapping>
</web-app>

ListaCorreosServlet.java

package comunicacion;

import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import java.io.IOException;

@WebServlet("/ListaCorreosServlet")
public class ListaCorreosServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doPost(request, response);
    }

    protected void doPost(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {
    }

}

控制台输出

nov 14, 2015 5:22:21 PM org.apache.catalina.core.StandardWrapperValve invoke
GRAVE: Servlet.service() for servlet ListaCorreosServlet throws exception
java.lang.NullPointerException
    at comunicacion.ListaCorreosServlet.doPost(ListaCorreosServlet.java:32)
    at comunicacion.ListaCorreosServlet.doGet(ListaCorreosServlet.java:23)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:217)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:673)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:745)

我不知道是我做错了什么还是另一个 Eclipse 错误。

最佳答案

感谢大家。我不知道问题出在哪里,但是使用 Eclipse 向导创建 servlet(实际上生成完全相同的代码)工作得很好;这意味着,Eclipse 列表中的另一个错误。

顺便说一下,我之前尝试清理和重建应用程序至少十几次,包括应用程序和服务器,但仍然给出相同的错误;就这样吧,估计是Eclipse的报错。

关于Tomcat 8 上 Eclipse 项目的 WebServlet 中的 java.lang.NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33710750/

相关文章:

eclipse - 如何用 JSP 解决这个问题?

apache - 通过 Apache 避免 302 重定向

java - 在类路径资源 + Springboot 中创建名称为 'dataSource' 的 bean 时出错

android - 无法在真实设备上运行自动化脚本

java - 在同一 Tomcat 实例中运行的 Web 应用程序之间传输文件

java - 无法将 selectonHandler 添加到 Gwt 中的 TabPanel

Java在方法内部添加关闭钩子(Hook)

java - 最大化Java中的函数

java - 使用Netty时如何处理连接或绑定(bind)异常

java - 刷新 Activity 而不重新打开它?