2016-12-17 131 views
2

我從形式發送到春:狀態405.請求方法 'POST' 不支持

<form name='recoverForm' action="<c:url value='recover'/>" method='POST'> 

春天行動:

@Controller 
@RequestMapping(value = "recover") 
public class RecoverController { 

    @RequestMapping(method = RequestMethod.GET) 
    public String recoverPage(Map<String, Object> model) { 
     return "recover"; //this works 
    } 

    @RequestMapping(method = RequestMethod.POST) 
    public String recover(Map<String, Object> model) { 
     System.out.println("_____________recover in action"); 
     return "home"; //error 405 
    } 

,但我得到錯誤405 - 請求方法 'POST' 不支持的。

enter image description here

爲什麼呢?我發送post request和控制器有一個post方法是不是?

+0

貴'GET'工作? – timothyclifford

+0

@timothyclifford是的,它的工作原理 – thinker

+0

當你的應用程序啓動時,你能看到映射到日誌中的POST路由嗎? – timothyclifford

回答

0

在Spring-security.xml中<csrf />:Spring Security Cross Site Request Forgery(CSRF)保護會阻止它。

令牌需要通過POST請求與表單一起使用。

在表單中添加以下內容:

<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/> 
+1

不是'spring-sequrity.xml',而是在頁面的'form'中 – thinker

相關問題