Restful风格,PUT修改功能请求,表单中存在文件报错-HTTP Status 405 - Request method 'POST' not supported...
生活随笔
收集整理的這篇文章主要介紹了
Restful风格,PUT修改功能请求,表单中存在文件报错-HTTP Status 405 - Request method 'POST' not supported...
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
解決方案配置如下
<!-- 配置文件上傳解析器 --><bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- 指定所上傳文件的總大小不能超過20M。注意maxUploadSize屬性的限制不是針對單個文件,而是所有文件的容量之和 --> <property name="maxUploadSize" value="20000000"/><property name="defaultEncoding" value="utf-8"></property></bean><!-- web.xml中引入上面配置,這個很重要!只有在contextConfigLocation配置的文件下的bean才會直接被加載供下面的過濾器調(diào)用 --><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring/root-context.xml</param-value></context-param> <!--form表單中存在文件時,該過濾器可以處理http請求中的文件,被該過濾器過濾后會用post方法提交,form表單需設(shè)為enctype="multipart/form-data"--><filter><filter-name>MultipartFilter</filter-name><filter-class>org.springframework.web.multipart.support.MultipartFilter</filter-class><init-param><param-name>multipartResolverBeanName</param-name><!--spring中配置的id為multipartResolver的解析器--><param-value>multipartResolver</param-value></init-param></filter><filter-mapping><filter-name>MultipartFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!--解析form表單中隱藏的name為_method的input,需放在MultipartFilter之后,才能在對應(yīng)的put請求方法中找到對應(yīng)的controller--><filter><filter-name>hiddenHttpMethodFilter</filter-name><filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class></filter><filter-mapping><filter-name>hiddenHttpMethodFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>原理是過濾器是逐個進(jìn)行的,先用MultipartFilter處理文件,在用HiddenHttpMethodFilter處理form表單中隱藏的name為_method的input。其次MultipartFilter配置的multipartResolverBeanName的值要在contextConfigLocation配置的xml中。
org.springframework.web.multipart.support.MultipartFilter會處理http請求中的文件流,無法解析_method參數(shù)。
org.springframework.web.filter.HiddenHttpMethodFilter可以解析form表單中隱藏的name為_method的input。
?
轉(zhuǎn)載于:https://www.cnblogs.com/aeolian/p/8443770.html
總結(jié)
以上是生活随笔為你收集整理的Restful风格,PUT修改功能请求,表单中存在文件报错-HTTP Status 405 - Request method 'POST' not supported...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Rancher 2.0 里程碑版本:支持
- 下一篇: mysql---视图