我正在使用spring,spring security,hibernate。有一個jsp頁面,我試圖上傳一個文件,後臺我有一個控制器來捕獲並存儲上傳的文件。我正在使用tomcat。我正在使用spring security進行登錄驗證。當我上傳文件時出現以下錯誤 HTTP狀態405 - 不支持請求方法'POST' 任何想法?HTTP狀態405 - 不支持請求方法'POST'
2
A
回答
4
您需要確保您的請求處理程序能夠接受POST。您還可以配置Spring使用MultipartResolver來幫助您獲取請求部分。 MultiPartResolver
@Bean(name = "mulitpartResolver")
public MultipartResolver multipartResolver() {
if (multipartResolver == null) {
multipartResolver = new CommonsMultipartResolver();
}
return multipartResolver;
}
的
配置這裏是請求映射:
@RequestMapping(method = RequestMethod.POST, value = "/some/post/url")
public void postFile(MultipartHttpServletRequest request) {
MultipartFile multipartFile = request.getFileMap().get("keyForFileInFormPost");
...
}
注意,有時這會不會與春季安全工作。你可以看一下我的博客文章在這裏使用multipartrequestresolvers彈簧安全上求救:
http://www.adamweigold.com/2012/01/using-multpartrequestresolvers-with.html
0
只是在你的Spring上下文定義豆 「multipartResolver」
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- one of the properties available; the maximum file size in bytes -->
<property name="maxUploadSize" value="2097152"/>
</bean>
並使用
@ResponseBody
@RequestMapping(value = "/{tenantId}/getEntityInfo", method = RequestMethod.POST)
public ResponseEntity<String> getEntityInfo(
@RequestParam(value = "xml", required = false) MultipartFile xml) {
}
相關問題
- 1. org.springframework.web.servlet.PageNotFound - 請求方法「POST」不支持HTTP狀態405
- 2. Spring MVC 3:HTTP狀態405 - 不支持請求方法'POST'
- 3. HTTP狀態405 - 請求方法「POST」(不支持的Spring MVC)
- 4. Spring MVC HTTP狀態405 - 不支持請求方法'POST'
- 5. HTTP狀態405 - 不支持請求方法'POST'。 Spring Security
- 6. 編輯時:HTTP狀態405 - 不支持請求方法'POST'
- 7. HTTP狀態405 - 不支持請求方法'POST'(僅限IE)
- 8. SpringMVC HTTP狀態405 - 不支持請求方法'POST'
- 9. HTTP狀態405 - 此方法不支持HTTP方法POST - SOAP
- 10. spring-security:HTTP狀態405 - 不支持請求方法'POST'
- 11. 春:狀態405.請求方法 'POST' 不支持
- 12. HTTP狀態405 - 不支持請求方法'POST'Spring Security Java配置
- 13. 表單提交時「HTTP狀態405 - 請求方法'不支持POST'
- 14. HTTP狀態405 - 當文件向上編碼時不支持請求方法'POST'
- 15. 「的請求的資源不支持HTTP方法 'POST' - 405響應
- 16. HTTP狀態405 - 此方法不支持HTTP方法POST此網址不支持POST
- 17. WebApi Post方法總是返回「請求的資源不支持http方法'GET'。」狀態:405方法不允許
- 18. WebApi 2 Http Post 405「請求的資源不支持http方法'POST'」
- 19. Tomcat 8:HTTP狀態405 - 此方法不支持HTTP方法GET
- 20. 爲什麼顯示HTTP狀態405 - 此方法不支持HTTP方法POST?
- 21. 不支持方法'POST'405
- 22. HTTP狀態405 - 請求方法'GET'不支持錯誤$ http.post從角度調用
- 23. 此方法不支持HTTP方法GET,狀態405
- 24. HTTP狀態405 - HTTP GET方法不受此URL支持
- 25. HTTP狀態405 - 此URL不支持HTTP方法GET
- 26. 請求方法 'POST' 不支持
- 27. 爲什麼我不能用RequestMethod.PUT總是有HTTP狀態405 - 請求方法 'POST' 不支持
- 28. 春-405請求方法' POST '不支持
- 29. 3用SpringMVC 405 - 請求方法 'POST' 不支持
- 30. Extjs spring 405 - 不支持請求方法'POST'
我正在使用以下\t \t \t '@RequestM (MultipartHttpServletRequest)multipartRequest =(MultipartHttpServletRequest)request.getFileMap().get(「applet.getFileMap()」)獲取(value =「/additem/fileupload.htm」,method = RequestMethod.POST) public String upload(MultipartHttpServletRequest request,ModelMap model,Principal principal) keyForFileInFormPost「); MultipartFile multipartFile = multipartRequest.getFile(「file」);' 我還需要使用mulitpartResolver bean嗎? –
我有上面的代碼,它是投擲 java.lang.IllegalStateException:當前請求的類型爲[org.springframework.web.multipart.MultipartHttpServletRequest]的不:FirewalledRequest [[email protected] ] –
正確,你需要一個multipartResolver bean。 Spring解析器是實際構建你的方法參數的東西。如果多部分請求沒有解析器,則永遠不會獲得解析器。 如果commonsmultipartresolver不起作用,請參閱我的博文。你可能需要寫一個自定義的(他們並不難寫)。 – aweigold