1

我正在尝试使用 WTP 插件从 Eclipse 在 Tomcat 上部署一个 servlet。Eclipse 工作正常,Tomcat 也启动了。当我打开http://localhost:8080时,我得到了 Tomcat 的主页。我正在关注这个确切的教程http://www.vogella.com/articles/EclipseWTP/article.html但是当我尝试通过右键单击 servlet 类并将其部署在 tomcat 上并在服务器上运行时出现以下错误。请求的资源 (/test/FileCounter) 不可用。我搜索但找不到任何可以帮助我的东西。我正在使用 Eclipse Java EE IDE 和 Tomcat 6。以下是我的 web.xml 文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>test</display-name>
  <servlet>
    <description></description>
    <display-name>FileCounter</display-name>
    <servlet-name>FileCounter</servlet-name>
    <servlet-class>com.servlets.FileCounter</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>FileCounter</servlet-name>
    <url-pattern>/FileCounter</url-pattern>
  </servlet-mapping>
</web-app>
4

2 回答 2

5

我遇到了同样的问题,刚刚解决了!

在 Project Explorer 中,展开 Deployment 描述符(就在 Java 资源上方)。然后在该部署描述符中展开“servlet”,它们应该是您创建的 Servlet。右键单击它并 Run as --> Run on server 。

但是在 Eclipse 中我不清楚 web.xml 没有正确定义但 servlet 在没有它的情况下运行!

于 2012-12-10T20:30:00.943 回答
0

我刚遇到同样的问题。由于某种原因,当我通过 servlet 向导创建 servlet 时,eclipse 没有在 WebContent WEB-INF 文件夹中创建 web.xml 文件。我不知道为什么它没有创建它。

我将 web.xml 文件添加到 WebContent/WEB-INF 文件夹中,当我这样做时,我在部署描述符下有一个 servlet,我可以右键单击并运行为 -> 在服务器上运行

这是您需要的 web.xml 文件:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>test</display-name>
  <servlet>
    <description></description>
    <display-name>FileCounter</display-name>
    <servlet-name>FileCounter</servlet-name>
    <servlet-class>your.servlet.path.filecounter.servlets.FileCounter</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>FileCounter</servlet-name>
    <url-pattern>/FileCounter</url-pattern>
  </servlet-mapping>
</web-app>

当然,您需要将您的 servlet 类更新为您创建的包名称

于 2013-06-13T18:24:56.190 回答