Tomcat无法找到我的Servlet并引发异常,但是为什么呢?

我正在尝试进行Java

Web开发,但似乎遇到了Tomcat和一个非常简单的servlet的奇怪问题。每次我尝试加载应用时,catalina日志都会出现此错误:

Caused by: java.lang.IllegalArgumentException: Servlet mapping specifies an unknown servlet name MyServlet

at org.apache.catalina.core.StandardContext.addServletMapping(StandardContext.java:2393)

at org.apache.catalina.core.StandardContext.addServletMapping(StandardContext.java:2373)

... 40 more

Mar 4, 2009 10:37:58 AM org.apache.catalina.startup.ContextConfig applicationWebConfig

SEVERE: Parse error in application web.xml file at jndi:/localhost/mywebapp/WEB-INF/web.xml

java.lang.IllegalArgumentException: Servlet mapping specifies an unknown servlet name MyServlet

讲得体。似乎找不到我的servlet。但是,该servlet似乎在正确的位置。我可以在 *

供参考,这是我当前正在使用的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">

<description>My first web app in Java.</description>

<display-name>My Web App</display-name>

<servlet>

<servlet-name>MyServlet</servlet-name>

<servlet-class>MyServlet</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>MyServlet</servlet-name>

<url-pattern>/myservlet</url-pattern>

</servlet-mapping>

</web-app>

如您所见,我将事情保持简单……但是它不断抛出此异常。准Web应用程序在Java中是什么样子,我缺少哪些组件?

为了绝对确定它不是某种人工制品,我启动了Tomcat的新副本并再次尝试。这样做之后,它开始出现在日志文件中:

SEVERE: Error deploying web application archive mywebapp.war

java.lang.UnsupportedClassVersionError: Bad version number in .class file (unable to load class MyServlet)

我为MyServlet类转储了.class文件,并使用-target 1.5对其进行了重新构建,将.war重新打包后,一切工作正常。

非常感谢你的帮助!排除故障方面的好教训永远不会伤害任何人。

回答:

好了,鉴于已更新的信息,看来您的问题是,用于您的类的编译器可能比运行Tomcat的JDK更高。

检查用于启动Tomcat的JDK版本,然后查看是否可以做一些事情来协调该版本与用于编译servlet的版本之间的版本差异。

那应该解决您的问题。

以上是 Tomcat无法找到我的Servlet并引发异常,但是为什么呢? 的全部内容, 来源链接: utcz.com/qa/412208.html

回到顶部