IllegalArgumentException:名为[table]和[servletbasic.MakeTable]的servlet都映射到url-pattern [/ MakeTable]

时间:2014-08-13 04:56:35

标签: tomcat servlets mapping

启动Tomcat v7.0时遇到问题。

'Staring Tomcat v7.0 Server at localhost' has encountered a problem.
 Server Tomcat v7.0 Server at localhost failed to start.

我发现我的问题出在web.xml文件中。 这个文件看起来像这个

<display-name>Exercises</display-name>
<welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
</welcome-file-list>

<servlet>
    <servlet-name>table</servlet-name>
    <servlet-class>servletbasic.MakeTable</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>table</servlet-name>
    <url-pattern>/MakeTable</url-pattern>
</servlet-mapping>

当我删除了servlet-mapping标签时,Tomcat启动良好。 这是我的项目树

  ---Java Resources

    ---servletbasic

      ---MakeTable.java

我尝试更改http端口号,但它不起作用。

感谢您的支持!

1 个答案:

答案 0 :(得分:4)

从您的日志:

  

引起:java.lang.IllegalArgumentException:名为的servlet   [table]和[servletbasic.MakeTable]都映射到了   url-pattern [/ MakeTable]是不允许的

您似乎有两个servlet tableMakeTable映射到同一个网址/MakeTable

这可能是由于在您的servlet类中使用annotation-based注释@WebServlet混合了两个servlet声明方法,并且与您发布的web.xml-based配置相同。