POST不受支持

时间:2012-10-23 15:03:56

标签: spring spring-mvc spring-security

我之前有一个登录表格,如下所示

<div class="span-10 last">
    <c:url value="/j_spring_security_check" var="loginActionUrl" />
    <user:login   actionNameKey="login.login" action="${loginActionUrl}"/>
</div>

但现在我将表单更改为如下所示。

<div class="span-10 last">
    <c:url value="/login/loginNow" var="loginActionUrl" />
    <user:login actionNameKey="login.login" action="${loginActionUrl}"/>
</div>

我的控制器现在看起来像这样

@Controller
@RequestMapping(value = "/login")
public class LoginPageController {
    @RequestMapping(value = "/loginNow", method = RequestMethod.POST)
    public String doLogin(
        @RequestHeader(value = "referer", required = false) final String referer,
        @Valid final LoginForm loginForm, final BindingResult bindingResult,
        final Model model, final HttpServletRequest request,
        final HttpServletResponse response) throws CMSItemNotFoundException {

        if (somethingMissing) {
            return to login page.
        }

        return FORWARD_PREFIX + "/j_spring_security_check";

    }
}

但是现在我得到了不支持Request方法的帖子。我不知道为什么..?我怎样才能纠正这个错误.. 感谢

1 个答案:

答案 0 :(得分:1)

您需要将此文件放在web.xml上

<filter> 
    <filter-name>httpMethodFilter</filter-name> 
    <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>

<filter-mapping>
    <filter-name>httpMethodFilter</filter-name>
    <servlet-name>yourServlet</servlet-name>
</filter-mapping>