Tomcat,启用DELETE方法

时间:2015-06-08 03:12:57

标签: tomcat tomcat7 http-delete

How to make Apache Tomcat accept DELETE method之前询问此问题,但它提供的解决方案对我不起作用。我添加了

<init-param>
    <param-name>readonly</param-name>
    <param-value>false</param-value>
</init-param>

到web.xml,我的<servlet>设置如下所示:

<servlet>
    <servlet-name>default</servlet-name>
    <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
    <init-param>
        <param-name>debug</param-name>
        <param-value>0</param-value>
    </init-param>
    <init-param>
        <param-name>listings</param-name>
        <param-value>false</param-value>
    </init-param>
    <init-param>
        <param-name>readonly</param-name>
        <param-value>false</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

但是,在访问DELETE时,我得到了405。有什么建议?顺便说一下,我重新启动了tomcat。

1 个答案:

答案 0 :(得分:1)

看看源代码: Default Servlet

如果网络资源的删除调用失败,您可以看到状态代码 405 Not allowed

根据您的问题,目前尚不清楚您要删除的内容 - 您的资源似乎无法删除。

tomcat funcspec州:

  

在此servlet处理的每个HTTP DELETE请求中,应执行以下&gt;处理:

     
      
  • 如果不允许修改静态资源(由配置参数设置),则返回HTTP状态403(禁止)。
  •   
  • 如果尝试从/ META-INF或/ WEB-INF删除资源,则返回HTTP状态403(禁止)。
  •   
  • 如果请求的资源不存在,则返回HTTP状态404(未找到)
  •   
  • 从包含此Web应用程序的静态资源的目录上下文中取消绑定资源。如果成功,则返回HTTP状态204(无内容)。否则,返回HTTP状态405(不允许使用方法)。
  •   

无论是源代码还是功能规范,您都可以看到Servlet接受了delete方法,您只需将URL传递给实际可删除的资源。