如何在tomcat中允许put方法

时间:2015-07-16 11:35:37

标签: jsp tomcat web

我连接http://localhost:9000/ .....(使用put方法)

然而,服务器返回403禁止。

我听说了“把握方法”。在tomcat是不允许的。

如何解决问题?

2 个答案:

答案 0 :(得分:3)

Tomcat DOES支持put方法。你只是不在你的servlet或控制器中覆盖它。您对PUT的调用需要被配置为处理该请求的控制器/ servlet捕获。如果你使用的是纯Java EE而不是spring,那么只需在HttpServlet中使用下面的代码,并将该servelet连接到你发送PUT的url-pattern。

@Override
protected void doPut(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
    //Your logic here will be executed every time a PUT request is called-->
}

需要更多信息:您的问题需要更多信息。您在Web应用程序中正在做什么来捕获请求?您是否只请求没有servlet或控制器的JSP?你是否覆盖了doGET或doPost?你在使用像spring这样的其他框架吗?

答案 1 :(得分:2)

这取决于servlet。您没有指定URL的其余部分,因此无法判断哪种servlet处理了您的请求。

如果它是您创建的自定义servlet,则应该覆盖doPut(...)方法。如果是"默认"来自Tomcat的servlet,put mehtod被禁用,你可以在[Tomcat-dir] /conf/web.xml中看到:

<!--   readonly            Is this context "read only", so HTTP           -->
<!--                       commands like PUT and DELETE are               -->
<!--                       rejected?  [true]                              -->

&#34; readonly&#34; servlet的属性默认设置为true。