错误:Wrapper无法找到servlet类VendorRegistration或它依赖的类

Swa*_*ami 2 java tomcat servlets

我是一个新手,他也一直在寻找解决同样问题的方法.我遵循了Elite Gentleman和Bozho 在这里概述的步骤.首先,非常感谢你们.但我似乎仍然有同样的问题.现在根据我的理解和实施,我的情况如下:

我的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>
Run Code Online (Sandbox Code Playgroud)

我试图通过URL访问servlet:http:// localhost:8080/VendorReg/VendorRegistration.我错过了什么?我在安装Apache之前的某个时候编译了.class文件.因此直接复制粘贴文件夹中的类文件.这可能是个问题吗?

Bal*_*usC 5

类路径中缺少servlet或其中一个依赖项.

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

package com.example;

public class VendorRegistration extends HttpServlet {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

使用此包,编译的.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>
Run Code Online (Sandbox Code Playgroud)

如果这没有用,那么你应该把包含任何servlet import语句中指定的(in)直接类的类或JAR文件放在/WEB-INF/classes(用于.class文件)或/WEB-INF/lib(用于JAR文件)中.异常堆栈跟踪的根本原因应该确切地告诉它是哪个类.只需阅读堆栈跟踪.

也可以看看: