java - 错误 : Wrapper cannot find servlet class VendorRegistration or a class it depends on

标签 java tomcat servlets

我是一个新手,也在寻找同样问题的解决方案。我已按照 Elite Gentleman 和 Bozho 概述的步骤进行操作 here .所以首先,非常感谢大家。但我似乎仍然有同样的问题。现在根据我的理解和实现,我的情况是这样的:

我的 servlet 类 VendorRegistration 位于以下文件夹中:C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\VendorReg\WEB-INF\classes

我的 web.xml 位于:C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\VendorReg\WEB-INF\

但是,我似乎仍然遇到错误:

****HTTP 状态 500 - 类型 异常报告消息描述 服务器遇到内部错误 (),导致它无法完成此请求。异常 javax.servlet.ServletException: Wrapper 找不到 servlet 类 VendorRegistration 或其依赖的类****

我还在下面附加了我的 web.xml 文件供您考虑:

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
   version="2.5">

  <display-name>Welcome to Tomcat</display-name>
  <description>
     Welcome to Tomcat
  </description>
  <servlet>

    <servlet-name>VendorRegistration</servlet-name>
    <servlet-class>VendorRegistration</servlet-class>

  </servlet>

    <servlet-mapping> 
    <servlet-name>VendorRegistration</servlet-name> 
    <url-pattern>/VendorRegistration</url-pattern> 
    </servlet-mapping> 

</web-app>

我正在尝试通过 URL 访问 servlet:http://localhost:8080/VendorReg/VendorRegistration .我错过了什么?我在安装 Apache 之前编译了 .class 文件。因此直接将类文件复制粘贴到文件夹中。这会是个问题吗?

最佳答案

类路径中缺少 servlet 或其依赖项之一。

首先,始终将 Java 类放在一个包中,servlet 也是如此。无包类对于普通包中的类是不可见的。对于 servlet,这仅适用于特定环境。你不想依赖它。

package com.example;

public class VendorRegistration extends HttpServlet {
    // ...
}

有了这个包,编译的.class文件必须以 /WEB-INF/classes/com/example/VendorRegistration.class 结尾.不要忘记更改关联的 <servlet-class>输入 web.xml相应地。

<servlet>
    <servlet-name>VendorRegistration</servlet-name>
    <servlet-class>com.example.VendorRegistration</servlet-class>
</servlet>

如果这没有帮助,那么您应该放入包含在任何 servlet 的 import 中指定的(in)直接类的类或 JAR 文件。声明也在 /WEB-INF/classes (对于 .class 文件)或 /WEB-INF/lib (对于 JAR 文件)。异常堆栈跟踪中的根本原因应该告诉它到底是哪个类。只需阅读堆栈跟踪。

另见:

关于java - 错误 : Wrapper cannot find servlet class VendorRegistration or a class it depends on,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5155602/

相关文章:

java - Java的内部类Metadata在内存中存放在哪里

java - mvn依赖:tree return nothing but build success

java - 在 Tomcat 容器中启动进程时遇到一个奇怪的错误。如何解决?

java - alfresco webscript 和 Java servlet 之间的区别

java - 如何在java中播放Wiremock?

java - Mongodb 内部使用 AggregationOperation :Error [The 'cursor' option is required, 在 java spring 中加入,除了带有 explain 参数的聚合]

apache - 去掉http URL中的tomcat端口号

java - Tomcat 服务器通过 Eclipse 运行,但我的应用程序主页抛出 404 错误

java - 小服务程序和 JSP : How to send parameters with a link

java - 将数据库中的数据存储检索到 Java