java – 不支持请求方法’POST’

根据 Spring Documentation here

While HTTP defines these four methods,HTML only supports two: GET and POST. Fortunately,there are two possible workarounds: you can either use JavaScript to do your PUT or DELETE,or simply do a POST with the ‘real’ method as an additional parameter (modeled as a hidden input field in an HTML form).

他们已经完成了后者,并且可以使用以下spring MVC表单标签来实现:

<form:form method="delete">
   <input type="submit" value="Delete"/>
</form:form>

问题是,当我单击“删除”时,我的页面会抛出以下错误

HTTP Status 405 - Request method 'POST' not supported

我将org.springframework.web的调试级别更改为debug并找到以下消息:

DEBUG AnnotationMethodHandlerExceptionResolver - Resolving exception from handler [foo.bar.MessageForm@da9246]:
org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'POST' not supported

我使用RestClient和DELETE方法,并按预期调用方法.我在这做错了什么?

解决方法

您需要在web.xml中配置HiddenHttpMethodFilter

细节可以找到here

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...