0

嘿,我在 web.xml 中配置 java 文件时遇到问题。我默认在apache tomcat提供的examples/classes文件夹中创建了一个java文件。并将这一行添加到 web.xml

<servlet>
<servlet-name>Time_Display</servlet-name>
<servlet-class>Time_Display</servlet-class>

它在 url:port/examples/servlet/Time_Display 位置运行良好

现在我将整个示例文件夹复制到示例 1 并运行上面修改过的链接

url:port/examples1/servlet/Time_Display

然后它说“请求的资源(/examples1/servlet/Time_Display)不可用。”

为什么 ??

这是我的完整 web.xml 代码:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>

<display-name>Tomcat Examples</display-name>
<description>
  Tomcat Example servlets and JSP pages.
</description>
<servlet>
<servlet-name>Time_Display</servlet-name>
<servlet-class>Time_Display</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Time_Display</servlet-name>
<url-pattern>/Time_Display</url-pattern>
 </servlet-mapping>
 </web-app>
4

3 回答 3

0

如果您收到 404 错误通知“请求的资源不可用”,则表示此 url 未正确映射。

在您的 web.xml 中,将您的元素 'url-pattern' 更改为 /examples1/servlet/Time_Display 这必须解决您的问题。

由于您已将元素“servlet-class”作为 Time_Display,我猜 Time_Display 类位于默认包中。如果不是,则必须告知类的完整名称,即packageName+className,例如com.example.Time_Display。

于 2014-02-17T21:44:16.193 回答
0

可能是tomcat配置有问题(爆炸战争自动部署可能被禁用)。重新启动tomcat并尝试访问上面的链接。

于 2012-11-08T20:54:49.013 回答
0

在调用 servlet (url:port/examples1/servlet/Time_Display) 时不应在 URL 中使用 servlet,因为您在 web.xml 中提供了 servlet-mapping。

可能 examples1/Time_Display 会起作用。

当您在应用程序中使用 org.apache.catalina.servlets.DefaultServlet 时,需要在 URL 中使用 servlet。不建议在现代 Tomcat 服务器中使用。

于 2012-11-13T21:50:22.843 回答