【问题标题】:ClassNotFoundException when creating a new package创建新包时出现 ClassNotFoundException
【发布时间】:2014-05-15 09:42:12
【问题描述】:

我有一个用 gwt 制作的项目。现在我正在尝试创建一个自动触发某些功能的 servlet。 所以我在我的应用程序中创建了一个新包,在其中创建了一个包含 servlet 的新类。

这样,我的应用程序中有三个包:一个包含服务器功能,一个包含客户端功能,一个包含 servlet。 问题是当我启动我的应用程序时,我得到了 ClassNotFoundException package-that-c​​ontains-servlet。

就像应用程序根本看不到我添加的新包一样。 我该如何解决这个问题?

【问题讨论】:

  • 你有 web.xml 文件吗?

标签: java servlets gwt


【解决方案1】:

您可能需要将 web.xml 文件添加到您的项目中。如果您使用的是 netbeans,请转到新文件--web--标准部署描述符 (web.xml)。 然后您必须将 servlet 信息添加到 web.xml 文件中。 这将告诉应用程序在哪里寻找类。

这是一个 web.xml 文件中的 servlet 配置示例。

<servlet>
        <servlet-name>MyServlet</servlet-name>
        <servlet-class>mypackage.MyServlet</servlet-class>
    </servlet>
<servlet-mapping>
        <servlet-name>MyServlet</servlet-name>
        <url-pattern>/MyServlet</url-pattern>
    </servlet-mapping>

【讨论】:

  • 这是正确答案!我忘记了整个 servlet 映射部分!
  • 是的,我明白了。我在大学里学习这个,课程笔记没有提到任何关于 web.xml 的内容。我知道这有多令人沮丧。
【解决方案2】:

我想你忘了映射 servlet。检查你的 web.xml 文件..

   <servlet>
     <servlet-name>ServletName</servlet-name>
     <servlet-class>YourPackage</servlet-class>
   </servlet>

   <servlet-mapping>
     <servlet-name>ServletName</servlet-name>
     <url-pattern>/projectName/your RemoteServiceRelativePath()</url-pattern>
   </servlet-mapping>

根据你的类规范更改以上行并添加到 web.xml

【讨论】:

    猜你喜欢
    • 2020-08-19
    • 2019-01-13
    • 1970-01-01
    • 2016-03-12
    • 2014-06-20
    • 2017-05-13
    • 2019-05-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多