【问题标题】:Java Servlet on eclipse: Error instantiating servlet class | ClassNotFoundExceptioneclipse 上的Java Servlet:实例化servlet 类时出错ClassNotFoundException
【发布时间】:2017-12-16 11:47:55
【问题描述】:

我知道这个问题被问了很多,但我尝试了所有方法,但仍然无法为我工作,希望有人能提供帮助。

我正在尝试使用 eclipse 在服务器上运行 servlet 页面,一直显示此错误:

这是我的源代码:

我编写了一个简单的 servlet 页面,只是为了查看它在服务器上运行:

    package main.java.servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class StationsServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    public StationsServlet() {

    }

    @Override
    public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html");
        PrintWriter writer = resp.getWriter();
        writer.println("<html>");
        writer.println("<body>");
        writer.println("Hello");
        writer.println("</body></html>");
        writer.flush();
    }

    @Override
    public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

    }
}

我的 web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
    version="3.1">
    <display-name>weather-files-war</display-name>
    <welcome-file-list>
        <welcome-file>home.jsp</welcome-file>
    </welcome-file-list>
    <servlet>
        <servlet-name>stationsServlet</servlet-name>
        <servlet-class>main.java.servlet.StationsServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>stationsServlet</servlet-name>
        <url-pattern>/stations</url-pattern>
    </servlet-mapping>
</web-app>

最后,我的文件夹/模块结构:

  • PS:我创建了一个 homepage.jsp,它在服务器上正常工作,问题是在访问 servlet 类时。

【问题讨论】:

    标签: java eclipse jsp servlets


    【解决方案1】:

    首先检查您的 StationsServlet.java 附近的感叹号有什么问题

    也尝试添加注解@WebServlet(name = "StationsServlet ", value = "/stations") 在您的 servlet 类中的 public class StationsServlet extends HttpServlet { 之前。 它需要帮助。

    【讨论】:

    • 我已经尝试过 servlet 注释,虽然当我将 servlet 类移动到 war 模块时它可以工作,但我认为我在依赖项或其他方面有问题
    • 我已经复制了您的代码,并带有注释。
    • 尝试删除您的 StationsServlet 文件,然后重新创建。
    【解决方案2】:

    我创建了一个新项目和一个新工作区,并将模块和类复制到新的工作区,它就可以工作了。

    我猜这与 eclipse 项目结构和配置有关。

    【讨论】:

      【解决方案3】:

      希望此信息对寻找此常见问题答案的程序员有用。此答案基于此问题。

      请确保您的 servlet 类在以下文件夹下 (您的项目名称)/src/main/java

      为你的 servlet 添加注解 @WebServlet(name="stationsServlet", value = "/stations")

      您的 .jsp (homepage.jsp) 表单应该是,

      请按照以下步骤操作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-01-02
        • 2016-06-01
        • 1970-01-01
        • 2021-11-14
        • 2018-04-16
        • 1970-01-01
        • 2014-07-03
        • 2021-08-08
        相关资源
        最近更新 更多