使用Maven3 Eclipse 7 Tomcat 7时出现404错误的WebServlet

时间:2012-08-08 10:41:33

标签: tomcat maven servlets tomcat7

我的项目被命名为“A”,我的班级是:

@WebServlet(urlPatterns={"/test/*"}) public class RequestHandler extends HttpServlet {

Maven插件:

<plugin>
      <groupId>org.apache.tomcat.maven</groupId>
      <artifactId>tomcat7-maven-plugin</artifactId>
      </plugin>

在src / main / webapp / WEB-INF / web.xml下我有

<?xml version="1.0" encoding="UTF-8"?>
<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_3_0.xsd" version="3.0"/>

Tomcat7在运行tomcat7时运行如下:运行:

Running war on http://localhost:8080/A

...

  

2012年8月8日下午12:28:08 org.apache.coyote.AbstractProtocol init   信息:初始化ProtocolHandler [“http-bio-8080”]   2012年8月8日下午12:28:08 org.apache.catalina.core.StandardService startInternal   信息:启动服务Tomcat   2012年8月8日12:28:08 org.apache.catalina.core.StandardEngine startInternal   信息:启动Servlet引擎:Apache Tomcat / 7.0.25   2012年8月8日12:28:08 org.apache.catalina.startup.ContextConfig getDefaultWebXmlFragment   信息:未找到全局web.xml   2012年8月8日下午12:28:09 org.apache.coyote.AbstractProtocol开始   信息:启动ProtocolHandler [“http-bio-8080”]

当我转到http://localhost:8080/Ahttp://localhost:8080/A/test时,我从Tomcat7获得404

我做错了什么?

1 个答案:

答案 0 :(得分:0)

删除web.xml文件。

使用以下命令配置pom.xml:

<build>
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.0-SNAPSHOT</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.5.1</version>
            </plugin>
        </plugins>
    </pluginManagement>
    <plugins>
        <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <configuration>
                <port>8080</port>
                <path>/</path>
            </configuration>
            <dependencies>
                <dependency>
                    <groupId>org.apache.tomcat.embed</groupId>
                    <artifactId>tomcat-embed-core</artifactId>
                    <version>7.0.29</version>
                </dependency>
            </dependencies>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.7</source>
                <target>1.7</target>
                <showDeprecation>true</showDeprecation>
                <showWarnings>true</showWarnings>
                <fork>true</fork>
            </configuration>
        </plugin>
    </plugins>
</build>
<pluginRepositories>
    <pluginRepository>
        <id>apache.snapshots</id>
        <name>Apache Snapshots</name>
        <url>http://repository.apache.org/content/groups/snapshots-group/</url>
    </pluginRepository>
</pluginRepositories>