Spring MVC,对post请求的正确响应

时间:2015-01-16 00:15:42

标签: spring spring-mvc

我对POST请求有一些问题。 当用户单击logIn按钮时,页面(localhost:8080 /)将发送到服务器POST请求(localhost:8080 / authorization)。如果授权不成功,则浏览器会在新标签页面中打开页面! 我无法理解为什么会这样,因为如果授权成功,那么浏览器只会更新当前标签。

我的控制器是

@RequestMapping(value ="/authorization", method = RequestMethod.POST)
public String authorization(@ModelAttribute(AUTH_USER) 
        @Valid AuthorizationForm authData, BindingResult result,
        Model model){
    if(result.hasErrors()){
        model.addAttribute(REG_USER, trUserService.getSignUpDTO());
        return "index";
    }
    if(!securityService.logIn(trUserService.getUser(authData), 
            authData.getPassword())){
        result.rejectValue("password", "v.registrationform.password.notfound");
        model.addAttribute(REG_USER, trUserService.getSignUpDTO());
        return "index";
    }
    return "redirect:/";
}

另外我注意到,当登录成功时,服务器发送请求代码:' 302 Found'否则请求是'代码:200 Ok'。

为什么会发生这种情况,在成功授权后我可以做什么,浏览器会在当前标签中打开响应。

1 个答案:

答案 0 :(得分:1)

我的评论中包含答案,但在此回答您可以关闭此问题。

看起来你设置了"目标"将表单上的属性归结为您不想要的内容。更改或删除属性,事情会变得美好。