严重:为 servlet 分配异常 java.lang.ClassNotFoundException: 异常 [重复]

2024-03-21

当我使用以下内容时web.xml,我的项目运行良好,我可以看到“Hello World”通过index.jsp 页面显示。我在用网豆 7.4 and 阿帕奇汤姆猫 6.0.41

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" 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_3_0.xsd">
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
 </web-app>

但是,当我创建自己的 servlet 并使用以下内容时web.xml,=

 <?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" 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_3_0.xsd">
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>

 <servlet>
    <servlet-name>TEST_Authenticate</servlet-name>
    <servlet-class>restapi.TEST_Authenticate</servlet-class>
</servlet>  
<servlet-mapping>
    <servlet-name>TEST_Authenticate</servlet-name>
    <url-pattern>/TEST_Authenticate</url-pattern>
</servlet-mapping>
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.0.1</version>


    <scope>provided</scope>
</dependency>

我最终在 Apache Tomcat 日志中收到以下错误:

Jul 24, 2014 9:36:14 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Allocate exception for servlet TEST_Authenticate
java.lang.ClassNotFoundException: TEST_Authenticate
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1128)
    at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:827)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:744)

我已经检查了以下内容post https://stackoverflow.com/questions/17982240/java-lang-classnotfoundexception-for-servlet-in-tomcat-with-eclipse但仍然收到错误。

项目结构:


首先删除

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.0.1</version>
    <scope>provided</scope>
</dependency>

来自web.xml并将其放入你的pom.xml如果是Maven项目。

第二,ClassNotFoundException当在指定位置找不到该类时抛出该异常。就你而言,正如你所拥有的

<servlet-class>restapi.TEST_Authenticate</servlet-class>

所以,我假设你有一个名为restapi并在其中您有课程TEST_Authenticate.

那么,如果是一个Maven项目 你应该有scr/main/java/yourpackagename/yourClass如果它是一个简单的网络项目那么它应该像src/yourpackagename/yourClass.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

严重:为 servlet 分配异常 java.lang.ClassNotFoundException: 异常 [重复] 的相关文章

随机推荐