gpt4 book ai didi

eclipse - 删除@WebServlet 会导致 java.lang.ClassNotFoundException

转载 作者:行者123 更新时间:2023-11-28 22:20:01 25 4
gpt4 key购买 nike

我在具有 servlet 3.0 规范 (jdk 1.7) 的 eclipse Juno 中使用 Tomcat 7。当我使用 Eclipse IDE 创建一个新的 servlet 时,它会使用 @WebServlet("/foo") 语句自动创建一个新的映射,并且一切正常(servlet 工作)。

删除 @WebServlet("/foo") 映射并使用 web.xml 中的手动映射:

<web-app>
<servlet>
<servlet-name>Servlet1</servlet-name>
<servlet-path>foo.Servlet</servlet-path>
</servlet>
<servlet-mapping>
<servlet-name>Servlet1</servlet-name>
<url-pattern>/foo</url-pattern>
</servlet-mapping>
</web-app>

导致Tomcat崩溃:

 SEVERE: Allocate exception for servlet java.lang.ClassNotFoundException:

我确定 foo.Servlet.Servlet1 是正确的路径和名称。我必须在启动 Tomcat 之前手动编译 servlet 吗?我直接从 eclipse ide 运行项目,设置 Tomcat 7 运行时环境。

最佳答案

您在 web.xml 中的 Servlet 声明不正确,需要更改

<servlet-path>foo.Servlet</servlet-path>

<servlet-class>foo.Servlet</servlet-class>

您还应该添加 schema declaration在你的web.xml文件,它会通过在 xml 编辑器中显示错误来为您省去所有这些麻烦,因为没有诸如 <servlet-path> 之类的东西。

<?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"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">

关于eclipse - 删除@WebServlet 会导致 java.lang.ClassNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24874271/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com